}
parameters = (Parent)pop();
if (parameters.hasNamedParameters()) {
error(toLocation(t), "Named parameters are ignored in anonymous invokes");
}
Node method = pop();
Node self = pop();
push(new DynamicInvokeNode(self, method, parameters));
break;
case SYMBOL:
t = jj_consume_token(SYMBOL);
isMethod = false;
if (jj_2_23(2)) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case OPEN:
jj_consume_token(OPEN);
ArgumentList();
jj_consume_token(CLOSE);
break;
case BEGIN:
InlineFunction();
push(new ExpressionList(pop()));
break;
default:
jj_la1[140] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
isMethod = true;
} else {
;
}
if (terminated) {
error(toLocation(t), "Empty brackets terminate variable expression");
}
if (isMethod) {
parameters = (Parent)pop();
if (parameters.hasNamedParameters()) {
error(toLocation(t), "Named parameters are ignored in anonymous invokes");
}
push(new InvokeNode(pop(), t.image, parameters));
} else {
push(new AttributeNode(pop(), t.image));
}
break;
case CLASS:
jj_consume_token(CLASS);
push(new ClassOfNode(pop()));
break;
case SIZEOF:
jj_consume_token(SIZEOF);
push(new SizeOfNode(pop()));
break;
case TYPEOF:
jj_consume_token(TYPEOF);
push(new TypeOfNode(pop()));
break;
case CLONEOF:
jj_consume_token(CLONEOF);
push(new CloneNode(pop()));
break;
case COPYOF:
jj_consume_token(COPYOF);
push(new CopyNode(pop()));
break;
default:
jj_la1[141] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
jj_la1[142] = jj_gen;
if (jj_2_24(2)) {
t = jj_consume_token(OPEN_BRACKET);
List(false, false);
jj_consume_token(CLOSE_BRACKET);
if (terminated) {
error(toLocation(t), "Empty brackets terminate variable expression");
}
Node expression = pop();
Node self = pop();
push(new ReferenceNode(self, expression));
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case OPEN_BRACKET:
t = jj_consume_token(OPEN_BRACKET);