0
호출자 메서드에 의해 선언 된 매개 변수를 사용하는 MethodInvocation 식을 찾는 방법을 찾고 있습니다. 예를 들어매개 변수 사용을 위해 Eclipse AST 사용
:
나는 M1 메소드 호출은 'PARAM1'를 활용하는 것이, 그리고 m2 메소드 호출은 'PARAM2'를 활용하는 것이, 그리고 그 'PARAM1'를 활용 M3 식별 할 수 있도록하려면public void caller(int param1, int param2){
m1(param1)
m2(param2)
m3(param1, m4(param2))
}
및 'param2'. ASTVisitor와 함께이 작업을 수행 할 수 있습니까? MethodDeclaration.parameters()는 SingleVariableDeclaration의 목록을 제공하고 MethodInvocation.arguments()는 Expression 목록을 제공하므로 아무런 운이 없었습니다. SingleVariableDeclaration과 Expression 사이에 링크가 표시되지 않습니다. 나는 그 이름으로 분석 할 수는 있지만 너무 순진하다.
메소드 호출에 의해 보유 된 인수가 실제로 변수인지 확신 할 수 있습니까? 위에 제공된 경우에 대해 m3 메서드 호출에는 변수가있는식이 하나 있지만 다른 메서드 호출이있는식이 하나 있습니다. – HJM
ASTView 플러그인을 알고 있습니까? - http://www.eclipse.org/jdt/ui/astview/index.php? 이 플러그인을 사용하여 표현식이 변수인지 식별하는 방법을 알아낼 수 있어야합니다. –
네, 저도 함께 일해 왔습니다. 나는 직접적인 연결을 보지 못했지만, 나는 그것이 IVariableBinding이라는 것을 해결하려고 노력할 수 있다고 생각하고 null 반환을 무시한다. 감사. – HJM