public void visitAttributeExpression(AttributeExpression expression) { Expression objectExpression = expression.getObjectExpression(); MethodCallerMultiAdapter adapter; if (leftHandExpression) { adapter = setField; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectField; if (usesSuper(expression)) adapter = setFieldOnSuper; } else { adapter = getField; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectField; if (usesSuper(expression)) adapter = getFieldOnSuper; } visitAttributeOrProperty(expression, adapter); }
public void visitAttributeExpression(AttributeExpression expression) { Expression objectExpression = expression.getObjectExpression(); MethodCallerMultiAdapter adapter; if (leftHandExpression) { adapter = setField; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectField; if (usesSuper(expression)) adapter = setFieldOnSuper; } else { adapter = getField; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectField; if (usesSuper(expression)) adapter = getFieldOnSuper; } visitAttributeOrProperty(expression, adapter); }
public void visitAttributeExpression(AttributeExpression expression) { Expression objectExpression = expression.getObjectExpression(); MethodCallerMultiAdapter adapter; if (leftHandExpression) { adapter = setField; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectField; if (usesSuper(expression)) adapter = setFieldOnSuper; } else { adapter = getField; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectField; if (usesSuper(expression)) adapter = getFieldOnSuper; } visitAttributeOrProperty(expression, adapter); }
public void visitAttributeExpression(AttributeExpression expression) { Expression objectExpression = expression.getObjectExpression(); MethodCallerMultiAdapter adapter; if (controller.getCompileStack().isLHS()) { adapter = setField; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectField; if (usesSuper(expression)) adapter = setFieldOnSuper; } else { adapter = getField; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectField; if (usesSuper(expression)) adapter = getFieldOnSuper; } visitAttributeOrProperty(expression, adapter); if (!controller.getCompileStack().isLHS()) { controller.getAssertionWriter().record(expression.getProperty()); } else { controller.getOperandStack().remove(2); } }
public void visitMethodCallExpression(MethodCallExpression call) { onLineNumber(call, "visitMethodCallExpression: \"" + call.getMethod() + "\":"); if (isClosureCall(call)) { // let's invoke the closure method invokeClosure(call.getArguments(), call.getMethodAsString()); } else { boolean isSuperMethodCall = usesSuper(call); MethodCallerMultiAdapter adapter = invokeMethod; if (isThisExpression(call.getObjectExpression())) adapter = invokeMethodOnCurrent; if (isSuperMethodCall) adapter = invokeMethodOnSuper; if (isStaticInvocation(call)) adapter = invokeStaticMethod; makeInvokeMethodCall(call, isSuperMethodCall, adapter); } }
public void visitMethodCallExpression(MethodCallExpression call) { onLineNumber(call, "visitMethodCallExpression: \"" + call.getMethod() + "\":"); if (isClosureCall(call)) { // let's invoke the closure method invokeClosure(call.getArguments(), call.getMethodAsString()); } else { boolean isSuperMethodCall = usesSuper(call); MethodCallerMultiAdapter adapter = invokeMethod; if (isThisExpression(call.getObjectExpression())) adapter = invokeMethodOnCurrent; if (isSuperMethodCall) adapter = invokeMethodOnSuper; if (isStaticInvocation(call)) adapter = invokeStaticMethod; makeInvokeMethodCall(call, isSuperMethodCall, adapter); } }
public void visitMethodCallExpression(MethodCallExpression call) { onLineNumber(call, "visitMethodCallExpression: \"" + call.getMethod() + "\":"); if (isClosureCall(call)) { // let's invoke the closure method invokeClosure(call.getArguments(), call.getMethodAsString()); } else { boolean isSuperMethodCall = usesSuper(call); MethodCallerMultiAdapter adapter = invokeMethod; if (isThisExpression(call.getObjectExpression())) adapter = invokeMethodOnCurrent; if (isSuperMethodCall) adapter = invokeMethodOnSuper; if (isStaticInvocation(call)) adapter = invokeStaticMethod; makeInvokeMethodCall(call, isSuperMethodCall, adapter); } }