달빛약속 / core/mod / DeclareFunction
Class: DeclareFunction
약속
키워드를 통해 함수(약속)를 선언하는 AST 노드입니다.
Description
이 노드는 실행될 때 실제로 함수 코드를 실행하는 것이 아니라, 실행 가능한 FunctionObject
를 생성하여 현재 스코프에 등록하는 역할을 합니다. 이때 FunctionObject
는 함수가 선언된 시점의 스코프를 기억하며, 이는 클로저(Closure)를 구현하는 핵심입니다.
Extends
Indexable
[key
: string
]: unknown
Constructors
new DeclareFunction()
new DeclareFunction(
props
,tokens
):DeclareFunction
Parameters
props
body
name
string
tokens
Token
[]
Returns
Overrides
Defined in
Properties
body
body:
Block
Defined in
name
name:
string
Defined in
tokens
tokens:
Token
[]
Inherited from
Defined in
friendlyName
static
friendlyName:string
='새 약속 만들기'
Overrides
Defined in
Methods
execute()
execute(
scope
):Promise
<void
>
함수를 나타내는 FunctionObject
를 생성하고 현재 스코프에 추가합니다.
Parameters
scope
함수가 선언되는 현재의 스코프입니다.
Returns
Promise
<void
>
Overrides
Defined in
toJSON()
toJSON():
object
Returns
object
Inherited from
Defined in
toPrint()
toPrint():
string
Returns
string
Inherited from
Defined in
validate()
validate(
scope
):YaksokError
<unknown
>[]
Parameters
scope
Returns
YaksokError
<unknown
>[]