# HG changeset patch # User Christian Humer # Date 1420817588 -3600 # Node ID 4ce856e65728751aca23613a707199428a091534 # Parent b9cf6f3150ea359efff75f2ec0933c7d906194ba Truffle-DSL: fix visiblity of create methods. diff -r b9cf6f3150ea -r 4ce856e65728 graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeBaseFactory.java --- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeBaseFactory.java Fri Jan 09 16:04:37 2015 +0100 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeBaseFactory.java Fri Jan 09 16:33:08 2015 +0100 @@ -138,8 +138,9 @@ } public static List findUserConstructors(TypeMirror nodeType) { + TypeElement type = ElementUtils.fromTypeMirror(nodeType); List constructors = new ArrayList<>(); - for (ExecutableElement constructor : ElementFilter.constructorsIn(ElementUtils.fromTypeMirror(nodeType).getEnclosedElements())) { + for (ExecutableElement constructor : ElementFilter.constructorsIn(type.getEnclosedElements())) { if (constructor.getModifiers().contains(PRIVATE)) { continue; } @@ -150,7 +151,9 @@ } if (constructors.isEmpty()) { - constructors.add(new CodeExecutableElement(null, ElementUtils.getSimpleName(nodeType))); + CodeExecutableElement executable = new CodeExecutableElement(null, ElementUtils.getSimpleName(nodeType)); + ElementUtils.setVisibility(executable.getModifiers(), ElementUtils.getVisibility(type.getModifiers())); + constructors.add(executable); } return constructors; @@ -439,6 +442,7 @@ private CodeExecutableElement createUserConstructor(CodeTypeElement type, ExecutableElement superConstructor) { CodeExecutableElement method = new CodeExecutableElement(null, type.getSimpleName().toString()); + ElementUtils.setVisibility(method.getModifiers(), ElementUtils.getVisibility(superConstructor.getModifiers())); CodeTreeBuilder builder = method.createBuilder(); if (superConstructor != null) { @@ -1838,12 +1842,12 @@ /** *
      * variant1 $condition != null
-     * 
+     *
      * $type $name = defaultValue($type);
      * if ($condition) {
      *     $name = $value;
      * }
-     * 
+     *
      * variant2 $condition != null
      * $type $name = $value;
      * 
diff -r b9cf6f3150ea -r 4ce856e65728 graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeCodeGenerator.java --- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeCodeGenerator.java Fri Jan 09 16:04:37 2015 +0100 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeCodeGenerator.java Fri Jan 09 16:33:08 2015 +0100 @@ -103,9 +103,6 @@ } new NodeFactoryFactory(context, node, second).createFactoryMethods(first); ElementUtils.setVisibility(first.getModifiers(), ElementUtils.getVisibility(node.getTemplateType().getModifiers())); - for (ExecutableElement constructor : ElementFilter.constructorsIn(first.getEnclosedElements())) { - ElementUtils.setVisibility(((CodeExecutableElement) constructor).getModifiers(), Modifier.PRIVATE); - } return first; } diff -r b9cf6f3150ea -r 4ce856e65728 graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeFactoryFactory.java --- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeFactoryFactory.java Fri Jan 09 16:04:37 2015 +0100 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeFactoryFactory.java Fri Jan 09 16:33:08 2015 +0100 @@ -240,13 +240,10 @@ } private CodeExecutableElement createCreateMethod(ExecutableElement constructor) { - Modifier visibility = ElementUtils.getVisibility(constructor.getModifiers()); CodeExecutableElement method = CodeExecutableElement.clone(context.getEnvironment(), constructor); method.setSimpleName(CodeNames.of("create")); method.getModifiers().clear(); - if (visibility != null) { - method.getModifiers().add(visibility); - } + method.getModifiers().add(Modifier.PUBLIC); method.getModifiers().add(Modifier.STATIC); method.setReturnType(node.getNodeType());