nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/AssignSymbols.java
changeset 30392 dc4a419b2982
parent 29281 8cc2618a07aa
child 31485 be1acaee8e9e
equal deleted inserted replaced
30391:62dcad329b26 30392:dc4a419b2982
    82 import jdk.nashorn.internal.ir.TryNode;
    82 import jdk.nashorn.internal.ir.TryNode;
    83 import jdk.nashorn.internal.ir.UnaryNode;
    83 import jdk.nashorn.internal.ir.UnaryNode;
    84 import jdk.nashorn.internal.ir.VarNode;
    84 import jdk.nashorn.internal.ir.VarNode;
    85 import jdk.nashorn.internal.ir.WithNode;
    85 import jdk.nashorn.internal.ir.WithNode;
    86 import jdk.nashorn.internal.ir.visitor.NodeVisitor;
    86 import jdk.nashorn.internal.ir.visitor.NodeVisitor;
       
    87 import jdk.nashorn.internal.parser.TokenType;
    87 import jdk.nashorn.internal.runtime.Context;
    88 import jdk.nashorn.internal.runtime.Context;
    88 import jdk.nashorn.internal.runtime.ECMAErrors;
    89 import jdk.nashorn.internal.runtime.ECMAErrors;
    89 import jdk.nashorn.internal.runtime.ErrorManager;
    90 import jdk.nashorn.internal.runtime.ErrorManager;
    90 import jdk.nashorn.internal.runtime.JSErrorType;
    91 import jdk.nashorn.internal.runtime.JSErrorType;
    91 import jdk.nashorn.internal.runtime.ParserException;
    92 import jdk.nashorn.internal.runtime.ParserException;
   712         return definingFn == function;
   713         return definingFn == function;
   713     }
   714     }
   714 
   715 
   715     @Override
   716     @Override
   716     public Node leaveBinaryNode(final BinaryNode binaryNode) {
   717     public Node leaveBinaryNode(final BinaryNode binaryNode) {
   717         switch (binaryNode.tokenType()) {
   718         if (binaryNode.isTokenType(TokenType.ASSIGN)) {
   718         case ASSIGN:
       
   719             return leaveASSIGN(binaryNode);
   719             return leaveASSIGN(binaryNode);
   720         default:
   720         }
   721             return super.leaveBinaryNode(binaryNode);
   721         return super.leaveBinaryNode(binaryNode);
   722         }
       
   723     }
   722     }
   724 
   723 
   725     private Node leaveASSIGN(final BinaryNode binaryNode) {
   724     private Node leaveASSIGN(final BinaryNode binaryNode) {
   726         // If we're assigning a property of the this object ("this.foo = ..."), record it.
   725         // If we're assigning a property of the this object ("this.foo = ..."), record it.
   727         final Expression lhs = binaryNode.lhs();
   726         final Expression lhs = binaryNode.lhs();