Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java @ 18771:15fe16c45d64
Truffle-DSL: changed specialization class naming scheme to use method name. This usually leads to shorter specialization class names.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 05 Jan 2015 01:31:07 +0100 |
parents | a720bf2e2f43 |
children | 674c8a6d5e6c |
comparison
equal
deleted
inserted
replaced
18770:2c669386b5d0 | 18771:15fe16c45d64 |
---|---|
50 | 50 |
51 public class NodeGenFactory { | 51 public class NodeGenFactory { |
52 | 52 |
53 private static final String FRAME_VALUE = "frameValue"; | 53 private static final String FRAME_VALUE = "frameValue"; |
54 | 54 |
55 private static final String NAME_SUFFIX = "_"; | |
56 | |
55 private final ProcessorContext context; | 57 private final ProcessorContext context; |
56 private final NodeData node; | 58 private final NodeData node; |
57 private final TypeSystemData typeSystem; | 59 private final TypeSystemData typeSystem; |
58 private final TypeData genericType; | 60 private final TypeData genericType; |
59 private final DSLOptions options; | 61 private final DSLOptions options; |
81 public static TypeMirror nodeType(NodeData node) { | 83 public static TypeMirror nodeType(NodeData node) { |
82 return new GeneratedTypeMirror(ElementUtils.getPackageName(node.getTemplateType()), nodeTypeName(node)); | 84 return new GeneratedTypeMirror(ElementUtils.getPackageName(node.getTemplateType()), nodeTypeName(node)); |
83 } | 85 } |
84 | 86 |
85 private static String specializationTypeName(SpecializationData specialization) { | 87 private static String specializationTypeName(SpecializationData specialization) { |
86 return specialization.getId() + "Node"; | 88 return specialization.getId() + "Node_"; |
87 } | 89 } |
88 | 90 |
89 private static TypeMirror specializationType(SpecializationData specialization) { | 91 private static TypeMirror specializationType(SpecializationData specialization) { |
90 return new GeneratedTypeMirror(ElementUtils.getPackageName(specialization.getNode().getTemplateType()) + "." + nodeTypeName(specialization.getNode()), specializationTypeName(specialization)); | 92 return new GeneratedTypeMirror(ElementUtils.getPackageName(specialization.getNode().getTemplateType()) + "." + nodeTypeName(specialization.getNode()), specializationTypeName(specialization)); |
91 } | 93 } |
92 | 94 |
93 private static String polymorphicTypeProfileFieldName(NodeExecutionData execution) { | 95 private static String polymorphicTypeProfileFieldName(NodeExecutionData execution) { |
94 return execution.getName() + "Type_"; | 96 return execution.getName() + "Type" + NAME_SUFFIX; |
95 } | 97 } |
96 | 98 |
97 private static String nodeFieldName(NodeExecutionData execution) { | 99 private static String nodeFieldName(NodeExecutionData execution) { |
98 return execution.getName() + "_"; | 100 return execution.getName() + NAME_SUFFIX; |
99 } | 101 } |
100 | 102 |
101 private static String specializationStartFieldName() { | 103 private static String specializationStartFieldName() { |
102 return "specialization_"; | 104 return "specialization" + NAME_SUFFIX; |
103 } | 105 } |
104 | 106 |
105 private static String excludedFieldName(SpecializationData specialization) { | 107 private static String excludedFieldName(SpecializationData specialization) { |
106 return "exclude" + specialization.getId() + "_"; | 108 return "exclude" + specialization.getId() + NAME_SUFFIX; |
107 } | 109 } |
108 | 110 |
109 private static String executeChildMethodName(NodeExecutionData execution, TypeData type) { | 111 private static String executeChildMethodName(NodeExecutionData execution, TypeData type) { |
110 return "execute" + ElementUtils.firstLetterUpperCase(execution.getName()) + (type.isGeneric() ? "" : getTypeId(type.getBoxedType())) + "_"; | 112 return "execute" + ElementUtils.firstLetterUpperCase(execution.getName()) + (type.isGeneric() ? "" : getTypeId(type.getBoxedType())) + NAME_SUFFIX; |
111 } | 113 } |
112 | 114 |
113 private static CodeTree accessParent(String name) { | 115 private static CodeTree accessParent(String name) { |
114 if (name == null) { | 116 if (name == null) { |
115 return CodeTreeBuilder.singleString("root"); | 117 return CodeTreeBuilder.singleString("root"); |
307 } | 309 } |
308 | 310 |
309 // create specialization | 311 // create specialization |
310 | 312 |
311 private CodeTypeElement createBaseSpecialization(CodeTypeElement parentClass) { | 313 private CodeTypeElement createBaseSpecialization(CodeTypeElement parentClass) { |
312 CodeTypeElement clazz = createClass(node, null, modifiers(PRIVATE, STATIC, ABSTRACT), "BaseNode", TypeSystemNodeFactory.nodeType(typeSystem)); | 314 CodeTypeElement clazz = createClass(node, null, modifiers(PRIVATE, ABSTRACT, STATIC), "BaseNode_", TypeSystemNodeFactory.nodeType(typeSystem)); |
313 | 315 |
314 clazz.addOptional(createSpecializationConstructor(clazz, null, null)); | 316 clazz.addOptional(createSpecializationConstructor(clazz, null, null)); |
315 clazz.add(new CodeVariableElement(modifiers(PROTECTED, FINAL), nodeType(node), "root")); | 317 clazz.add(new CodeVariableElement(modifiers(PROTECTED, FINAL), nodeType(node), "root")); |
316 | 318 |
317 clazz.addOptional(createUnsupported()); | 319 clazz.addOptional(createUnsupported()); |