changeset 18774:674c8a6d5e6c

Truffle-DSL: fixed wrong visibility of DSL nodes generated by the new layout.
author Christian Humer <christian.humer@gmail.com>
date Mon, 05 Jan 2015 01:31:07 +0100
parents 7382bbcac3a3
children a069a87b9a02
files graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeCodeGenerator.java graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java
diffstat 2 files changed, 6 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeCodeGenerator.java	Mon Jan 05 01:31:07 2015 +0100
+++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeCodeGenerator.java	Mon Jan 05 01:31:07 2015 +0100
@@ -51,7 +51,6 @@
         List<CodeTypeElement> generatedNodes = generateNodes(context, node);
 
         if (!generatedNodes.isEmpty() || !enclosedTypes.isEmpty()) {
-
             CodeTypeElement type;
             if (generatedNodes.isEmpty()) {
                 type = createContainer(node);
@@ -78,9 +77,7 @@
 
     private static CodeTypeElement makeInnerClass(CodeTypeElement type) {
         Set<Modifier> modifiers = type.getModifiers();
-        if (!modifiers.contains(Modifier.STATIC)) {
-            modifiers.add(Modifier.STATIC);
-        }
+        modifiers.add(Modifier.STATIC);
         return type;
     }
 
@@ -104,8 +101,9 @@
                     }
                 }
             }
-            new NodeFactoryFactory(context, node, second).createFactoryMethods(first, ElementUtils.getVisibility(node.getTemplateType().getModifiers()));
-            ElementUtils.setVisibility(first.getModifiers(), ElementUtils.getVisibility(node.getTemplateType().getModifiers()));
+            Modifier templateVisibility = ElementUtils.getVisibility(node.getTemplateType().getModifiers());
+            new NodeFactoryFactory(context, node, second).createFactoryMethods(first, templateVisibility);
+            ElementUtils.setVisibility(first.getModifiers(), templateVisibility);
             for (ExecutableElement constructor : ElementFilter.constructorsIn(first.getEnclosedElements())) {
                 ElementUtils.setVisibility(((CodeExecutableElement) constructor).getModifiers(), Modifier.PRIVATE);
             }
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java	Mon Jan 05 01:31:07 2015 +0100
+++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java	Mon Jan 05 01:31:07 2015 +0100
@@ -125,10 +125,8 @@
     }
 
     public CodeTypeElement create() {
-        String typeName = nodeTypeName(node);
-        TypeMirror baseType = node.getTemplateType().asType();
-        CodeTypeElement clazz = GeneratorUtils.createClass(node, null, modifiers(PUBLIC, FINAL), typeName, baseType);
-
+        CodeTypeElement clazz = GeneratorUtils.createClass(node, null, modifiers(FINAL), nodeTypeName(node), node.getTemplateType().asType());
+        ElementUtils.setVisibility(clazz.getModifiers(), ElementUtils.getVisibility(node.getTemplateType().getModifiers()));
         clazz.getImplements().add(getType(SpecializedNode.class));
 
         for (String assumption : node.getAssumptions()) {