EGL API를 사용하는 코드 분석 방법

EGL API를 사용하여 사용자 작성 규칙에 대해 선택하는 EGL 언어 요소를 분석합니다.

이 태스크 정보

EGL API 및 생성되는 구현 코드에 대한 자세한 정보는 주제 끝에 있는 관련 링크를 참조하십시오.

프로시저

사용자 정의 규칙에 대한 코드 분석을 구현하려면 다음을 수행하십시오.

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

피드백