Class: FunctionScope
compiler.FunctionScope
A function-specific scope that is bound to a FunctionDeclaration and not the global namespace.
Since
0.10.0
Hierarchy
-
↳
FunctionScope
Table of contents
Constructors
Properties
Accessors
Methods
Constructors
constructor
• new FunctionScope(ctx
)
Parameters
Name | Type |
---|---|
ctx |
LambdaExpression | FunctionDeclaration |
Overrides
Defined in
kipper/core/src/compiler/analysis/symbol-table/function-scope.ts:18
Properties
_arguments
• Protected
Readonly
_arguments: Map
<string
, ScopeParameterDeclaration
>
Defined in
kipper/core/src/compiler/analysis/symbol-table/function-scope.ts:16
_entries
• Protected
Readonly
_entries: Map
<string
, ScopeDeclaration
>
Inherited from
Defined in
kipper/core/src/compiler/analysis/symbol-table/scope.ts:17
ctx
• ctx: LambdaExpression
| FunctionDeclaration
Inherited from
Defined in
kipper/core/src/compiler/analysis/symbol-table/function-scope.ts:18
Accessors
arguments
• get
arguments(): Map
<string
, ScopeParameterDeclaration
>
All local arguments in this scope, which were defined by the parent function.
These are available as usual to all children scopes.
Since
0.10.0
Returns
Map
<string
, ScopeParameterDeclaration
>
Defined in
kipper/core/src/compiler/analysis/symbol-table/function-scope.ts:29
entries
• get
entries(): Map
<string
, ScopeDeclaration
>
Returns the entries in this scope (symbol table entries).
Since
0.10.0
Returns
Map
<string
, ScopeDeclaration
>
Inherited from
LocalScope.entries
Defined in
kipper/core/src/compiler/analysis/symbol-table/scope.ts:33
parent
• get
parent(): LocalScope
| GlobalScope
The parent scope of this local scope. This will be either a LocalScope or a GlobalScope (unique to the KipperProgramContext class).
Since
0.10.0
Returns
Inherited from
LocalScope.parent
Defined in
kipper/core/src/compiler/analysis/symbol-table/local-scope.ts:27
Methods
addArgument
▸ addArgument(declaration
): ScopeParameterDeclaration
Adds a new argument declaration to the list of arguments.
Since
0.10.0
Parameters
Name | Type | Description |
---|---|---|
declaration |
ParameterDeclaration |
The argument declaration to add. |
Returns
The generated scope declaration.
Defined in
kipper/core/src/compiler/analysis/symbol-table/function-scope.ts:39
addFunction
▸ addFunction(declaration
): ScopeFunctionDeclaration
Adds a new function declaration to the symbol table entries.
Since
0.8.0
Parameters
Name | Type | Description |
---|---|---|
declaration |
FunctionDeclaration |
The declaration to add. |
Returns
The generated scope declaration.
Inherited from
Defined in
kipper/core/src/compiler/analysis/symbol-table/local-scope.ts:31
addVariable
▸ addVariable(declaration
): ScopeVariableDeclaration
Adds a new variable declaration to the symbol table entries.
Since
0.8.0
Parameters
Name | Type | Description |
---|---|---|
declaration |
VariableDeclaration |
The declaration to add. |
Returns
The generated scope declaration.
Inherited from
Defined in
kipper/core/src/compiler/analysis/symbol-table/local-scope.ts:37
getArgument
▸ getArgument(identifier
): undefined
| ScopeParameterDeclaration
Searches for an argument with the passed identifier in the current scope.
Since
0.10.0
Parameters
Name | Type | Description |
---|---|---|
identifier |
string |
The identifier of the argument. |
Returns
undefined
| ScopeParameterDeclaration
Defined in
kipper/core/src/compiler/analysis/symbol-table/function-scope.ts:55
getEntry
▸ getEntry(identifier
): undefined
| ScopeDeclaration
Searches for a reference/entry with the specific identifier in the local hash table entries (local scope).
If no reference is found, undefined will be returned.
Since
0.8.0
Parameters
Name | Type | Description |
---|---|---|
identifier |
string |
The identifier to search for. |
Returns
undefined
| ScopeDeclaration
The found reference or undefined.
Overrides
Defined in
kipper/core/src/compiler/analysis/symbol-table/function-scope.ts:59
getEntryRecursively
▸ getEntryRecursively(identifier
): undefined
| ScopeDeclaration
Searches for a reference/entry with the specific identifier in the local hash table entries (local scope) and all parent scopes.
If no reference is found, undefined will be returned.
Since
0.10.0
Parameters
Name | Type | Description |
---|---|---|
identifier |
string |
The identifier to search for. |
Returns
undefined
| ScopeDeclaration
The found reference or undefined.
Overrides
LocalScope.getEntryRecursively
Defined in
kipper/core/src/compiler/analysis/symbol-table/function-scope.ts:63