public IAstNode ParseExpression() { if (CurrentInputElement.Data == "(" && ForwardInputElement(2).Data != ")") { return ParseExpressionBracketed(); } if (CurrentInputElement.Data == "(" && ForwardInputElement(2).Data == ")") { return ParseExpressionTypeCast(); } if (CurrentInputElement.Data == Keywords.New) { return ParserHelper.Parse<ClassInstantiationExpressionParser>(DataSource); } if ( (CurrentInputElement is IdentifierToken || CurrentInputElement.Data == Keywords.Super || CurrentInputElement.Data == Keywords.This) && ForwardInputElement(1).Data == "(") { return ParseExpressionMethodCall(); } var identifier = new IdentifierExpression(CurrentInputElement); MoveToNextToken(); return identifier; }
public IdentifierExpressionCompiler(ICompiler compiler, IdentifierExpression identifierExpression, IList<InnerExpressionProcessingListItem> list) { _list = list; _compiler = compiler; _identifierExpression = identifierExpression; }