changeset 22341:4df3d8fd6cfd

NodeClass cleanup
author Andreas Woess <andreas.woess@oracle.com>
date Wed, 04 Nov 2015 10:47:09 +0100
parents bb3c03f2442d
children a1b3b7894611
files truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeClass.java
diffstat 1 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeClass.java	Tue Nov 03 14:09:13 2015 +0100
+++ b/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeClass.java	Wed Nov 04 10:47:09 2015 +0100
@@ -53,6 +53,8 @@
         }
     };
 
+    private static final NodeFieldAccessor[] EMPTY_NODE_FIELD_ARRAY = new NodeFieldAccessor[0];
+
     // The comprehensive list of all fields.
     private final NodeFieldAccessor[] fields;
     // Separate arrays for the frequently accessed fields.
@@ -68,11 +70,11 @@
         return nodeClasses.get(clazz);
     }
 
-    public static NodeClass get(Node clazz) {
-        return clazz.getNodeClass();
+    public static NodeClass get(Node node) {
+        return node.getNodeClass();
     }
 
-    public NodeClass(Class<? extends Node> clazz) {
+    NodeClass(Class<? extends Node> clazz) {
         List<NodeFieldAccessor> fieldsList = new ArrayList<>();
         NodeFieldAccessor parentFieldTmp = null;
         NodeFieldAccessor nodeClassFieldTmp = null;
@@ -115,12 +117,12 @@
             throw new AssertionError("parent field not found");
         }
 
-        this.fields = fieldsList.toArray(new NodeFieldAccessor[fieldsList.size()]);
+        this.fields = fieldsList.toArray(EMPTY_NODE_FIELD_ARRAY);
         this.nodeClassField = nodeClassFieldTmp;
         this.parentField = parentFieldTmp;
-        this.childFields = childFieldList.toArray(new NodeFieldAccessor[childFieldList.size()]);
-        this.childrenFields = childrenFieldList.toArray(new NodeFieldAccessor[childrenFieldList.size()]);
-        this.cloneableFields = cloneableFieldList.toArray(new NodeFieldAccessor[cloneableFieldList.size()]);
+        this.childFields = childFieldList.toArray(EMPTY_NODE_FIELD_ARRAY);
+        this.childrenFields = childrenFieldList.toArray(EMPTY_NODE_FIELD_ARRAY);
+        this.cloneableFields = cloneableFieldList.toArray(EMPTY_NODE_FIELD_ARRAY);
         this.clazz = clazz;
     }