src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeClass.java
equal
deleted
inserted
replaced
739 assert false : "unhandled type: " + type; |
739 assert false : "unhandled type: " + type; |
740 } |
740 } |
741 } else { |
741 } else { |
742 Object objectA = data.getObject(a, i); |
742 Object objectA = data.getObject(a, i); |
743 Object objectB = data.getObject(b, i); |
743 Object objectB = data.getObject(b, i); |
|
744 assert !isLambda(objectA) || !isLambda(objectB) : "lambdas are not permitted in fields of " + this.toString(); |
744 if (objectA != objectB) { |
745 if (objectA != objectB) { |
745 if (objectA != null && objectB != null) { |
746 if (objectA != null && objectB != null) { |
746 if (!deepEquals0(objectA, objectB)) { |
747 if (!deepEquals0(objectA, objectB)) { |
747 return false; |
748 return false; |
748 } |
749 } |
751 } |
752 } |
752 } |
753 } |
753 } |
754 } |
754 } |
755 } |
755 return true; |
756 return true; |
|
757 } |
|
758 |
|
759 private static boolean isLambda(Object obj) { |
|
760 // This needs to be consistent with InnerClassLambdaMetafactory constructor. |
|
761 return obj != null && obj.getClass().getSimpleName().contains("$$Lambda$"); |
756 } |
762 } |
757 |
763 |
758 public boolean isValid(Position pos, NodeClass<?> from, Edges fromEdges) { |
764 public boolean isValid(Position pos, NodeClass<?> from, Edges fromEdges) { |
759 if (this == from) { |
765 if (this == from) { |
760 return true; |
766 return true; |