comparison graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/ext/ExtensionParser.java @ 7502:6343a09b2ec1

Codegen operation generation is inferred from the node type hierarchy.
author Christian Humer <christian.humer@gmail.com>
date Fri, 18 Jan 2013 13:28:12 +0100
parents a748e4d44694
children 5e3d1a68664e
comparison
equal deleted inserted replaced
7497:0f8c6dbf68be 7502:6343a09b2ec1
44 this.context = context; 44 this.context = context;
45 this.factory = new ExtensionCodeElementFactory(context); 45 this.factory = new ExtensionCodeElementFactory(context);
46 this.extensionContext = new ExtensionContextImpl(context.getEnvironment(), null, factory); 46 this.extensionContext = new ExtensionContextImpl(context.getEnvironment(), null, factory);
47 } 47 }
48 48
49 public List<WritableElement> parseAll(TypeElement typeElement) { 49 public List<WritableElement> parseAll(TypeElement typeElement, List<? extends Element> elements) {
50 List<WritableElement> generatedMethods = new ArrayList<>(); 50 List<WritableElement> generatedMethods = new ArrayList<>();
51 parseElement(generatedMethods, typeElement); 51 parseElement(generatedMethods, typeElement);
52 52
53 List<? extends ExecutableElement> methods = ElementFilter.methodsIn(typeElement.getEnclosedElements()); 53 List<? extends ExecutableElement> methods = ElementFilter.methodsIn(elements);
54 for (ExecutableElement method : methods) { 54 for (ExecutableElement method : methods) {
55 for (VariableElement var : method.getParameters()) { 55 for (VariableElement var : method.getParameters()) {
56 parseElement(generatedMethods, var); 56 parseElement(generatedMethods, var);
57 } 57 }
58 parseElement(generatedMethods, method); 58 parseElement(generatedMethods, method);