Class: CodeFile
달빛 약속 소스코드 파일 하나를 나타내는 클래스입니다. 파일 단위의 처리 과정(토크나이징, 파싱, 실행)을 담당합니다.
이 클래스의 인스턴스는 YaksokSession에 의해 관리됩니다.
Constructors
CodeFile()
CodeFile(
text,fileName):CodeFile
Parameters
• text: string
• fileName: string | symbol
Returns
Defined in
Properties
executionDelay
executionDelay:
number=null
Defined in
fileName
fileName:
string|symbol
Defined in
ranScope
ranScope:
Scope=null
Defined in
session
session:
YaksokSession=null
Defined in
text
text:
string
Defined in
Accessors
ast
Get Signature
get ast():
Block
토큰화된 코드를 파싱하여 생성된 추상 구문 트리(AST)를 반환합니다.
지연 평가 및 캐싱: 이 getter에 처음 접근할 때만 파싱을 수행하고, 그 결과를 내부 속성에 캐싱합니다.
Returns
AST의 루트 노드인 Block 객체를 반환합니다.
Defined in
exportedRules
Get Signature
get exportedRules():
Rule[]
이 파일에서 다른 파일로 내보내는 파싱 규칙을 반환합니다.
Returns
Rule[]
Defined in
functionDeclareRanges
Get Signature
get functionDeclareRanges():
FunctionDeclareRangesByType
코드 내의 함수 선언 범위를 반환합니다.
Returns
FunctionDeclareRangesByType
Defined in
mounted
Get Signature
get mounted():
boolean
이 CodeFile이 세션에 마운트되었는지 여부를 반환합니다.
Returns
boolean
Defined in
tokens
Get Signature
get tokens():
Token[]
소스코드를 토큰화한 결과를 반환합니다.
지연 평가 및 캐싱: 이 getter에 처음 접근할 때만 토크나이징을 수행하고, 그 결과를 내부 속성에 캐싱합니다. 이후의 접근에서는 캐시된 값을 즉시 반환합니다.
Returns
Token[]
Token 객체의 배열을 반환합니다.
Defined in
Methods
getTokensOptimistically()
getTokensOptimistically():
object
코드를 토큰화하고 인덴트 유효성 결과를 반환합니다. 유효하지 않은 토큰은 오류를 던지는 대신 errors 배열에 반환합니다.
Returns
object
errors?
optionalerrors:YaksokError<unknown>[]
tokens?
optionaltokens:Token[]
Defined in
mount()
mount(
session):void
CodeFile을 YaksokSession에 마운트합니다. 이 과정을 통해 CodeFile은 상위 세션의 상태와 설정에 접근할 수 있게 됩니다.
Parameters
• session: YaksokSession
이 CodeFile을 소유하는 YaksokSession 인스턴스입니다.
Returns
void
Defined in
parseOptimistically()
parseOptimistically():
Block
일부 오류를 무시하고 AST를 최대한 생성하여 반환합니다. 주로 언어 서버(LSP) 등에서 불완전한 코드를 분석해야 할 때 사용됩니다. parse(this, true)를 호출하는 것과 동일한 효과를 가집니다.
Returns
생성된 AST의 루트 노드인 Block 객체를 반환합니다.
Defined in
run()
run():
Promise<Scope>
파싱된 AST를 실행합니다.
실행 결과 캐싱: 이 메서드는 실행이 완료된 후 최종 스코프를 ranScope에 캐싱합니다. 만약 이미 실행된 파일에 대해 run이 다시 호출되면, 실제 코드를 재실행하지 않고 캐시된 스코프를 즉시 반환합니다. 이는 모듈이 여러 번 참조되어도 단 한 번만 실행되도록 보장합니다.
Returns
Promise<Scope>
실행이 완료된 후의 최종 스코프(Scope) 객체를 반환합니다.
Defined in
validate()
validate():
object
코드를 정적으로 분석하여 유효성을 검사하고 잠재적인 오류를 찾습니다.
Returns
object
검사 과정에서 발견된 오류(YaksokError) 배열과, 검사에 사용된 스코프를 반환합니다.
errors
errors:
YaksokError<unknown>[]
validatingScope
validatingScope:
Scope