public virtual T Visit(UnresolvedCall node) { Visit((LvalueExpression)node); traverse(node.func); traverse(node.args); return(DefaultReturnValue()); }
public override bool Visit(UnresolvedCall node) { Visit((LvalueExpression)node); TraversePrint(node.func); TraversePrint(node.args); return(true); }
public void testMethodCallExpression() { String statement = "print \"person\" + p.name"; ETestParser parser = new ETestParser(statement, false); UnresolvedCall ac = parser.parse_method_call(); Assert.IsNotNull(ac); }
public void parsesMethodCallExpression() { String statement = "print (\"person\" + p.name );"; OTestParser parser = new OTestParser(statement); UnresolvedCall ac = parser.parse_method_call_statement(); Assert.IsNotNull(ac); }
public void testMethodCallWith() { String statement = "print with \"person\" + p.name as value"; ETestParser parser = new ETestParser(statement, false); UnresolvedCall mc = parser.parse_method_call(); Assert.IsNotNull(mc); Assert.AreEqual("print", mc.getCaller().ToString()); Assert.IsNotNull(mc.getArguments()); Argument ars = mc.getArguments()[0]; Assert.AreEqual("value", ars.GetName()); IExpression exp = ars.getExpression(); Assert.IsTrue(exp is PlusExpression); Assert.AreEqual("print with \"person\" + p.name as value", generate(mc)); }
private IExpression tryResolveMethod(Context context, ArgumentList arguments) { try { IExpression resolvedParent = parent; if (resolvedParent is UnresolvedIdentifier) { ((UnresolvedIdentifier)resolvedParent).checkMember(context); resolvedParent = ((UnresolvedIdentifier)resolvedParent).getResolved(); } IExpression method = new UnresolvedCall(new MethodSelector(resolvedParent, name), arguments); method.check(context); return(method); } catch (SyntaxError) { return(null); } }