Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/DSLExpressionGenerator.java @ 20939:f83fd99b2962
Truffle-DSL: add support for null literals.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Tue, 14 Apr 2015 15:12:48 +0200 |
parents | 62c43fcf5be2 |
children |
comparison
equal
deleted
inserted
replaced
20938:18c0f02fa4d2 | 20939:f83fd99b2962 |
---|---|
23 package com.oracle.truffle.dsl.processor.generator; | 23 package com.oracle.truffle.dsl.processor.generator; |
24 | 24 |
25 import java.util.*; | 25 import java.util.*; |
26 | 26 |
27 import javax.lang.model.element.*; | 27 import javax.lang.model.element.*; |
28 import javax.lang.model.type.*; | |
28 | 29 |
29 import com.oracle.truffle.dsl.processor.expression.*; | 30 import com.oracle.truffle.dsl.processor.expression.*; |
30 import com.oracle.truffle.dsl.processor.expression.DSLExpression.Binary; | 31 import com.oracle.truffle.dsl.processor.expression.DSLExpression.Binary; |
31 import com.oracle.truffle.dsl.processor.expression.DSLExpression.Call; | 32 import com.oracle.truffle.dsl.processor.expression.DSLExpression.Call; |
32 import com.oracle.truffle.dsl.processor.expression.DSLExpression.DSLExpressionVisitor; | 33 import com.oracle.truffle.dsl.processor.expression.DSLExpression.DSLExpressionVisitor; |
95 } | 96 } |
96 | 97 |
97 public void visitVariable(Variable variable) { | 98 public void visitVariable(Variable variable) { |
98 VariableElement resolvedVariable = variable.getResolvedVariable(); | 99 VariableElement resolvedVariable = variable.getResolvedVariable(); |
99 CodeTree tree; | 100 CodeTree tree; |
100 if (variable.getReceiver() == null) { | 101 if (variable.getResolvedType().getKind() == TypeKind.NULL) { |
102 tree = CodeTreeBuilder.singleString("null"); | |
103 } else if (variable.getReceiver() == null) { | |
101 | 104 |
102 if (isStatic(resolvedVariable)) { | 105 if (isStatic(resolvedVariable)) { |
103 tree = staticReference(resolvedVariable); | 106 tree = staticReference(resolvedVariable); |
104 } else { | 107 } else { |
105 tree = bindings.get(variable); | 108 tree = bindings.get(variable); |