2014-06-19 1 views
0

A.Foo (args)를 A.Bar (args)로 변환하는 모든 Java 메소드를 호출하기 위해 리스너를 작성했습니다. 규칙 :Antlr 4 - Java 문법 규칙 "Explicit Generic Invocation"이 전혀 방문되지 않음

expression '.' explicitGenericInvocation 

듣기에 가장 적합한 규칙입니다. 그러나 나무의 육안 검사 후, 나는 표현 용어는 더

expression '.' Identifier 

일치되는 반면, 모든 자바 메소드 호출 규칙

expression '(' expressionList? ')' 

으로 인식하고 있습니다 그것은 표현 규칙 무시 것으로 보인다 실현 항상 explicitGenericInvocation 규칙. 이 의도되었거나 Java 문법에 결함이 있습니까? 이것이 의도 된 것이라면 explicitGenericInvocation 규칙에 대한 올바른 해석은 무엇입니까?

답변

1

explicitGenericInvocation은 nonWildcardTypeArguments (< ...)로 시작해야합니다. 따라서 a.Foo (args)는 제네릭 형식에 대한 특수 규칙 대신 일반 규칙과 일치합니다.