Mercurial > hg > graal-compiler
comparison graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/GuardParser.java @ 8245:703c09f8640c
Implemented support for @NodeClass annotation to support builtins.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Wed, 06 Mar 2013 18:32:33 +0100 |
parents | 33e08aca06ff |
children | a80bf36c6a1e |
comparison
equal
deleted
inserted
replaced
8244:10d37f893471 | 8245:703c09f8640c |
---|---|
24 | 24 |
25 import java.lang.annotation.*; | 25 import java.lang.annotation.*; |
26 import java.util.*; | 26 import java.util.*; |
27 | 27 |
28 import javax.lang.model.element.*; | 28 import javax.lang.model.element.*; |
29 import javax.lang.model.type.*; | |
29 | 30 |
30 import com.oracle.truffle.codegen.processor.*; | 31 import com.oracle.truffle.codegen.processor.*; |
31 import com.oracle.truffle.codegen.processor.template.*; | 32 import com.oracle.truffle.codegen.processor.template.*; |
32 import com.oracle.truffle.codegen.processor.template.ParameterSpec.Cardinality; | 33 import com.oracle.truffle.codegen.processor.template.ParameterSpec.Cardinality; |
33 | 34 |
45 @Override | 46 @Override |
46 public MethodSpec createSpecification(ExecutableElement method, AnnotationMirror mirror) { | 47 public MethodSpec createSpecification(ExecutableElement method, AnnotationMirror mirror) { |
47 List<ParameterSpec> specs = new ArrayList<>(); | 48 List<ParameterSpec> specs = new ArrayList<>(); |
48 specs.add(new ParameterSpec("valueN", typeSystem, false, Cardinality.MULTIPLE)); | 49 specs.add(new ParameterSpec("valueN", typeSystem, false, Cardinality.MULTIPLE)); |
49 ParameterSpec returnTypeSpec = new ParameterSpec("returnType", getContext().getType(boolean.class), false); | 50 ParameterSpec returnTypeSpec = new ParameterSpec("returnType", getContext().getType(boolean.class), false); |
50 return new MethodSpec(returnTypeSpec, specs); | 51 return new MethodSpec(Collections.<TypeMirror> emptyList(), returnTypeSpec, specs); |
51 } | 52 } |
52 | 53 |
53 @Override | 54 @Override |
54 public boolean isParsable(ExecutableElement method) { | 55 public boolean isParsable(ExecutableElement method) { |
55 return true; | 56 return true; |
56 } | 57 } |
57 | 58 |
58 @Override | 59 @Override |
59 public GuardData create(TemplateMethod method) { | 60 public GuardData create(TemplateMethod method) { |
60 return new GuardData(method, template); | 61 return new GuardData(method); |
61 } | 62 } |
62 | 63 |
63 @Override | 64 @Override |
64 public Class<? extends Annotation> getAnnotationType() { | 65 public Class<? extends Annotation> getAnnotationType() { |
65 return null; | 66 return null; |