EGL API를 사용하는 코드 분석 방법
EGL API를 사용하여 사용자 작성 규칙에 대해 선택하는 EGL 언어 요소를 분석합니다.
이 태스크 정보
프로시저
사용자 정의 규칙에 대한 코드 분석을 구현하려면 다음을 수행하십시오.
- 플러그인 개발 퍼스펙티브를 여십시오.
- 패키지 탐색기에서 사용자 정의 규칙에 대해 생성된 Java™ 소스 파일을 마우스 오른쪽 단추로 클릭하고 연결 프로그램 > Java 편집기를 클릭하십시오. 패키지 탐색기에서 Java 파일의 위치는 project_name > src > package_name > class_name.java입니다. 예: MyPluginProject > src > com.example > EglRule.java
- Java 편집기에서
코드 분석을 수행하기 위해 생성된 각 visit() 메소드에
Java 코드를
추가하십시오. 선택한 EGL 언어 요소에 해당하는 EAM(EGL Application Model)
인터페이스의 각 비추상 하위 인터페이스에 대해
visit() 메소드가 생성됩니다. 예를
들어 작성 마법사의 세 번째 페이지에 있는 명령문 트리에서
AddStatement 요소를 선택했다고 가정하십시오.
- AddStatement에 해당하는 EAM 인터페이스는 AddStatement 인터페이스입니다.
- 인터페이스의 AST 방문 및 인터페이스의 IR 방문 각각에 대해 하나씩 두 개의 visit() 메소드가 생성됩니다.
참고:EGL 소스 파일을 분석할 때 코드 분석기는 해당되는 Node 또는 Element 인스턴스가 있을 때마다 visit() 메소드를 시작합니다.- visit() 메소드는 EGL 코드 검토에 대한 사용자 정의 규칙 API에서 IASTVisitor 및
IRVisitor 인터페이스에 속합니다. IASTVistor 또는 IRVistor를 직접 구현하지 마십시오.
대신 AbstractASTRuleVisitor 또는 AbstractIRRuleVisitor 서브클래스를 구현하십시오.
다음 예제는 생성된 visit() 메소드를 보여줍니다.
- boolean visit(com.ibm.etools.edt.core.ast.AddStatement node)
- boolean visit(com.ibm.etools.edt.core.ir.api.AddStatement clause)
- visit() 메소드에 입력으로 전달되는 노드는 EAM(EGL Application Model) API의 com.ibm.etools.edt.core.ast 패키지에서 Node 인터페이스의 하위 인터페이스입니다.
- RUN_AS_IR이 true로 설정된 경우 visit() 메소드에 입력으로 전달되는 절은 EAM(EGL Application Model) API의 com.ibm.etools.edt.core.ir.api 패키지에서 Element 인터페이스의 하위 인터페이스입니다.
- 각 visit() 메소드에서 다음 기능에 대해 Java 코드를 추가하십시오.
- visit() 메소드에 대한 입력으로 전달되는 RUN_AS_IR을 사용 중인 경우 Node node 또는 Element clause를 사용하여 분석 중인 EGL 언어 요소의 인스턴스에 대한 정보를 가져오십시오.
- 사용자 정의 규칙에 대한 코드 분석을 수행하십시오. 규칙에 대해 둘 이상의 visit() 메소드가 있는 경우, 개별 visit() 메소드의 결과를 조정하기 위해 Java 코드를 작성해야 할 수도 있습니다.
- 리턴 코드 및 리턴 정보를 설정하십시오. 현재 노드의 방문하는 하위 노드를 계속하려면 true를 리턴하고, 방문하는 하위 노드를 건너뛰려면 false를 리턴합니다. 분석 중인 EGL 언어 요소가 규칙을 위반하는 경우 해당 노드를 토큰 목록에 추가하십시오.
- 완료하면 Java 편집기를 닫으십시오.
관련 정보:
피드백