List of usage examples for jdk.nashorn.internal.ir BinaryNode getAssignmentSource
@Override
public Expression getAssignmentSource()
From source file:com.bearsoft.org.netbeans.modules.form.JsCodeGenerator.java
private int findHandlerPosition(String componentName, String handlerName, PlatypusFormDataObject dataObject) { FunctionNode constructor = dataObject.getConstructor(); if (constructor != null && constructor.getBody() != null) { for (Statement st : constructor.getBody().getStatements()) { if (st instanceof ExpressionStatement && ((ExpressionStatement) st).getExpression() instanceof BinaryNode) { BinaryNode a = (BinaryNode) ((ExpressionStatement) st).getExpression(); if (a.isAssignment() && a.getAssignmentDest() instanceof AccessNode) { AccessNode pg = (AccessNode) a.getAssignmentDest(); if (handlerName.equals(pg.getProperty())) { if (pg.getBase() instanceof AccessNode) { AccessNode componentPg = (AccessNode) pg.getBase(); if (componentName.equals(componentPg.getProperty()) && componentPg.getBase() instanceof IdentNode && FORM_OBJECT_NAME.equals(((IdentNode) componentPg.getBase()).getName())) { if (a.getAssignmentSource() instanceof FunctionNode) { FunctionNode handlerFn = (FunctionNode) a.getAssignmentSource(); return handlerFn.getStart(); }// w ww . jav a2s . c o m } } } } } } } return NOT_FOUND; }
From source file:com.eas.script.PropertiesAnnotationsMiner.java
@Override public boolean enterBinaryNode(BinaryNode binaryNode) { if (scopeLevel == TOP_CONSTRUCTORS_SCOPE_LEVEL && binaryNode.isAssignment() && !binaryNode.isSelfModifying()) { if (binaryNode.getAssignmentDest() instanceof AccessNode) { AccessNode left = (AccessNode) binaryNode.getAssignmentDest(); if (left.getBase() instanceof IdentNode && thisAliases.contains(((IdentNode) left.getBase()).getName())) { long ft = left.getBase().getToken(); if (prevComments.containsKey(ft)) { long prevComment = prevComments.get(ft); commentedProperty(left.getProperty(), source.getString(prevComment)); }/*from w w w . j av a 2 s . co m*/ property(left.getProperty(), binaryNode.getAssignmentSource()); } } } return super.enterBinaryNode(binaryNode); }