Mercurial > hg > truffle
comparison graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java @ 10756:7f6580db1e88
Truffle: add assertions to verify the finalness of child fields.
author | Andreas Woess <andreas.woess@jku.at> |
---|---|
date | Mon, 15 Jul 2013 14:49:40 +0200 |
parents | b221e31d7b0b |
children | 6e12e0ace0d5 |
comparison
equal
deleted
inserted
replaced
10755:b221e31d7b0b | 10756:7f6580db1e88 |
---|---|
161 kind = NodeFieldKind.PARENT; | 161 kind = NodeFieldKind.PARENT; |
162 parentOffsetsList.add(fieldOffsetProvider.objectFieldOffset(field)); | 162 parentOffsetsList.add(fieldOffsetProvider.objectFieldOffset(field)); |
163 } else if (Node.class.isAssignableFrom(field.getType()) && field.getAnnotation(Child.class) != null) { | 163 } else if (Node.class.isAssignableFrom(field.getType()) && field.getAnnotation(Child.class) != null) { |
164 kind = NodeFieldKind.CHILD; | 164 kind = NodeFieldKind.CHILD; |
165 childOffsetsList.add(fieldOffsetProvider.objectFieldOffset(field)); | 165 childOffsetsList.add(fieldOffsetProvider.objectFieldOffset(field)); |
166 assert !Modifier.isFinal(field.getModifiers()) : "child field must not be final (\"" + field.getName() + "\", " + clazz + ")"; | |
166 } else if (field.getType().isArray() && Node.class.isAssignableFrom(field.getType().getComponentType()) && field.getAnnotation(Children.class) != null) { | 167 } else if (field.getType().isArray() && Node.class.isAssignableFrom(field.getType().getComponentType()) && field.getAnnotation(Children.class) != null) { |
167 kind = NodeFieldKind.CHILDREN; | 168 kind = NodeFieldKind.CHILDREN; |
168 childrenOffsetsList.add(fieldOffsetProvider.objectFieldOffset(field)); | 169 childrenOffsetsList.add(fieldOffsetProvider.objectFieldOffset(field)); |
170 assert Modifier.isFinal(field.getModifiers()) : "children array field must be final (\"" + field.getName() + "\", " + clazz + ")"; | |
169 } else { | 171 } else { |
170 kind = NodeFieldKind.DATA; | 172 kind = NodeFieldKind.DATA; |
171 } | 173 } |
172 fieldsList.add(new NodeField(kind, field.getType(), field.getName(), fieldOffsetProvider.objectFieldOffset(field))); | 174 fieldsList.add(new NodeField(kind, field.getType(), field.getName(), fieldOffsetProvider.objectFieldOffset(field))); |
173 } | 175 } |