Mercurial > hg > graal-compiler
comparison graal/com.oracle.graal.java/src/com/oracle/graal/java/VerifyOptionsPhase.java @ 15311:820c6d353358
added ModifiersProvider as superinterface for ResolvedJava[Method|Field|Type] and implemented all checks against modifiers as default methods
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 23 Apr 2014 12:38:05 +0200 |
parents | 96bb07a5d667 |
children |
comparison
equal
deleted
inserted
replaced
15310:dc2dd913c47e | 15311:820c6d353358 |
---|---|
22 */ | 22 */ |
23 | 23 |
24 package com.oracle.graal.java; | 24 package com.oracle.graal.java; |
25 | 25 |
26 import static com.oracle.graal.api.meta.MetaUtil.*; | 26 import static com.oracle.graal.api.meta.MetaUtil.*; |
27 import static java.lang.reflect.Modifier.*; | |
28 | |
29 import java.util.*; | 27 import java.util.*; |
30 | 28 |
31 import com.oracle.graal.api.meta.*; | 29 import com.oracle.graal.api.meta.*; |
32 import com.oracle.graal.compiler.common.*; | 30 import com.oracle.graal.compiler.common.*; |
33 import com.oracle.graal.graph.*; | 31 import com.oracle.graal.graph.*; |
113 protected void run(StructuredGraph graph) { | 111 protected void run(StructuredGraph graph) { |
114 for (ValueNode node : graph.getNodes().filter(ValueNode.class)) { | 112 for (ValueNode node : graph.getNodes().filter(ValueNode.class)) { |
115 if (node instanceof StoreFieldNode) { | 113 if (node instanceof StoreFieldNode) { |
116 ResolvedJavaField field = ((StoreFieldNode) node).field(); | 114 ResolvedJavaField field = ((StoreFieldNode) node).field(); |
117 verify(field.getDeclaringClass().equals(declaringClass), node, "store to field " + format("%H.%n", field)); | 115 verify(field.getDeclaringClass().equals(declaringClass), node, "store to field " + format("%H.%n", field)); |
118 verify(isStatic(field.getModifiers()), node, "store to field " + format("%H.%n", field)); | 116 verify(field.isStatic(), node, "store to field " + format("%H.%n", field)); |
119 if (optionValueType.isAssignableFrom((ResolvedJavaType) field.getType())) { | 117 if (optionValueType.isAssignableFrom((ResolvedJavaType) field.getType())) { |
120 verify(isFinal(field.getModifiers()), node, "option field " + format("%H.%n", field) + " not final"); | 118 verify(field.isFinal(), node, "option field " + format("%H.%n", field) + " not final"); |
121 } else { | 119 } else { |
122 verify((field.isSynthetic()), node, "store to non-synthetic field " + format("%H.%n", field)); | 120 verify((field.isSynthetic()), node, "store to non-synthetic field " + format("%H.%n", field)); |
123 } | 121 } |
124 } else if (node instanceof Invoke) { | 122 } else if (node instanceof Invoke) { |
125 Invoke invoke = (Invoke) node; | 123 Invoke invoke = (Invoke) node; |