Parse member access after array element indexing
This commit is contained in:
parent
d781f8a469
commit
0b343873fc
@ -225,5 +225,17 @@ namespace Parser.Tests
|
||||
Assert.IsInstanceOf<IdentifierNameNode>(a.LeftOperand);
|
||||
Assert.IsInstanceOf<IndirectMemberAccessNode>(a.RightOperand);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ParseMemberAccessAfterElementAccess()
|
||||
{
|
||||
var text = "a(1).b";
|
||||
var sut = CreateParser(text);
|
||||
var actual = sut.ParseExpression();
|
||||
Assert.IsInstanceOf<MemberAccessNode>(actual);
|
||||
var m = (MemberAccessNode) actual;
|
||||
Assert.IsInstanceOf<FunctionCallExpressionNode>(m.LeftOperand);
|
||||
Assert.IsInstanceOf<IdentifierNameNode>(m.RightOperand);
|
||||
}
|
||||
}
|
||||
}
|
@ -297,7 +297,8 @@ namespace Parser
|
||||
break;
|
||||
case TokenKind.Dot: // member access
|
||||
if (expression is IdentifierNameNode
|
||||
|| expression is MemberAccessNode)
|
||||
|| expression is MemberAccessNode
|
||||
|| expression is FunctionCallExpressionNode)
|
||||
{
|
||||
var dot = EatToken();
|
||||
var member = ParseMember();
|
||||
|
Loading…
x
Reference in New Issue
Block a user