11.3 매크로 컨텍스트(Macro context)
11.3 매크로 컨텍스트(Macro context)
매크로가 호출되면 매크로는 현재 컴파일 상태에 접근할 수 있습니다. 이것이 haxe.macro.Context 모듈이며, 다음을 제공합니다:
- 컴파일 상태 전반 접근 - 정의, 설정된 컴파일러 플래그 등
- 타입 빌딩(Type building) - 현재로부터의 타입 조작
- 타입 시스템 접근
Context의 정적 메서드는 매크로가 실행되는 환경을 나타냅니다. 컴파일러가 매크로 정의를 만나면 이를 현재 매크로 컨텍스트에 등록합니다.
import haxe.macro.Context;
import haxe.macro.Expr;
class Main {
static function main() {
trace(Context.getLocalType()); // [object EnumType] - Alias of TEnum<Main>
}
macro static function test():Expr {
return Context.getLocalType();
}
}
출처: Macro context