8.3.7 최상위 완성(Top-level completion)

8.3.7 최상위 완성(Top-level completion)

Haxe 3.2.0 이후

최상위 완성은 주어진 컴파일 위치에서 Haxe 컴파일러가 아는 모든 식별자를 표시합니다. 이것은 효과를 데모하기 위해 실제 위치 인자가 필요하다는 점에서 유일한 완성 방법이에요:

class Main {
  static public function main() {
    var a = 1;
  }
}

enum MyEnum {
  MyConstructor1;
  MyConstructor2(s:String);
}

이 파일을 Main.hx로 저장하면, haxe --display Main.hx@63@toplevel 명령으로 완성을 호출할 수 있어요. 출력은 다음과 비슷합니다(간결함을 위해 여러 항목 생략):

k="local" t="Int">a
 k="static" t="Void -> Unknown">main
 k="enum" t="MyEnum">MyConstructor1
 k="enum" t="s : String -> MyEnum">MyConstructor2
 ... k="package">sys, k="package">haxe, k="type" p="Int">Int, k="type" p="Float">Float, k="type" p="MyEnum">MyEnum, k="type" p="Main">Main

XML의 구조는 항목의 k 속성(식별자 종류: local, static, enum, package, type 등)에 따라 달라집니다.

출처: Top-level completion

본문

"toplevel" 모드는 주어진 위치에서 사용 가능한 모든 식별자(지역 변수, static, enum 생성자, 패키지, 타입 등)를 종류(k)와 타입(t/p) 속성을 가진 XML로 나열합니다. haxe --display Main.hx@<pos>@toplevel로 호출합니다.

더 알아보기