src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeClass.java
changeset 58533 46b0b7fe255c
parent 58299 6df94ce3ab2f
child 58679 9c3209ff7550
equal deleted inserted replaced
58532:b4f2e13d20ea 58533:46b0b7fe255c
   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;