Class: ASTNodeMapper
compiler.ASTNodeMapper
Mapper class which maps kind ids or rule names to their corresponding AST classes.
This is used to simplify the process of determining the relationships between parser, AST and code generators.
Since
0.11.0
Table of contents
Constructors
Properties
- declarationKindToClassMap
- declarationKindToRuleContextMap
- declarationRuleNameToClassMap
- expressionKindToClassMap
- expressionKindToRuleContextMap
- expressionRuleNameToClassMap
- statementKindToClassMap
- statementKindToRuleContextMap
- statementRuleNameToClassMap
Methods
- mapDeclarationKindToClass
- mapDeclarationKindToRuleContext
- mapDeclarationRuleNameToClass
- mapExpressionKindToClass
- mapExpressionKindToRuleContext
- mapExpressionRuleNameToClass
- mapStatementKindToClass
- mapStatementKindToRuleContext
- mapStatementRuleNameToClass
Constructors
constructor
• new ASTNodeMapper()
Properties
declarationKindToClassMap
▪ Static Readonly declarationKindToClassMap: Object
A mapping matching all declaration kinds to their respective constructable AST node classes.
Since
0.10.0
Type declaration
| Name | Type |
|---|---|
13 |
typeof ParameterDeclaration |
6 |
typeof FunctionDeclaration |
7 |
typeof VariableDeclaration |
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:124
declarationKindToRuleContextMap
▪ Static Readonly declarationKindToRuleContextMap: Object
A mapping matching all declaration kinds to their respective constructable AST node classes.
Since
0.11.0
Type declaration
| Name | Type |
|---|---|
13 |
typeof ParameterDeclarationContext |
6 |
typeof FunctionDeclarationContext |
7 |
typeof VariableDeclarationContext |
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:192
declarationRuleNameToClassMap
▪ Static Readonly declarationRuleNameToClassMap: Object
A mapping matching all declaration rule names to their respective constructable AST node classes.
Since
0.11.0
Type declaration
| Name | Type |
|---|---|
RULE_functionDeclaration |
typeof FunctionDeclaration |
RULE_parameterDeclaration |
typeof ParameterDeclaration |
RULE_variableDeclaration |
typeof VariableDeclaration |
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:265
expressionKindToClassMap
▪ Static Readonly expressionKindToClassMap: Object
A mapping matching all expression kinds to their respective constructable AST node classes.
Since
0.10.0
Type declaration
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:135
expressionKindToRuleContextMap
▪ Static Readonly expressionKindToRuleContextMap: Object
A mapping matching all expression kinds to their respective constructable AST node classes.
Since
0.11.0
Type declaration
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:203
expressionRuleNameToClassMap
▪ Static Readonly expressionRuleNameToClassMap: Object
A mapping matching all expression rule names to their respective constructable AST node classes.
Since
0.11.0
Type declaration
| Name | Type |
|---|---|
RULE_additiveExpression |
typeof AdditiveExpression |
RULE_arrayPrimaryExpression |
typeof ArrayPrimaryExpression |
RULE_assignmentExpression |
typeof AssignmentExpression |
RULE_bitwiseAndExpression |
typeof BitwiseAndExpression |
RULE_bitwiseOrExpression |
typeof BitwiseOrExpression |
RULE_bitwiseShiftExpression |
typeof BitwiseShiftExpression |
RULE_bitwiseXorExpression |
typeof BitwiseXorExpression |
RULE_boolPrimaryExpression |
typeof BoolPrimaryExpression |
RULE_castOrConvertExpression |
typeof CastOrConvertExpression |
RULE_conditionalExpression |
typeof ConditionalExpression |
RULE_equalityExpression |
typeof EqualityExpression |
RULE_fStringPrimaryExpression |
typeof FStringPrimaryExpression |
RULE_functionCallExpression |
typeof FunctionCallExpression |
RULE_genericTypeSpecifierExpression |
typeof GenericTypeSpecifierExpression |
RULE_identifierPrimaryExpression |
typeof IdentifierPrimaryExpression |
RULE_identifierTypeSpecifierExpression |
typeof IdentifierTypeSpecifierExpression |
RULE_incrementOrDecrementPostfixExpression |
typeof IncrementOrDecrementPostfixExpression |
RULE_incrementOrDecrementUnaryExpression |
typeof IncrementOrDecrementUnaryExpression |
RULE_lambdaExpression |
typeof LambdaExpression |
RULE_logicalAndExpression |
typeof LogicalAndExpression |
RULE_logicalOrExpression |
typeof LogicalOrExpression |
RULE_memberAccessExpression |
typeof MemberAccessExpression |
RULE_multiplicativeExpression |
typeof MultiplicativeExpression |
RULE_numberPrimaryExpression |
typeof NumberPrimaryExpression |
RULE_objectPrimaryExpression |
typeof ObjectPrimaryExpression |
RULE_objectProperty |
typeof ObjectProperty |
RULE_operatorModifiedUnaryExpression |
typeof OperatorModifiedUnaryExpression |
RULE_relationalExpression |
typeof RelationalExpression |
RULE_stringPrimaryExpression |
typeof StringPrimaryExpression |
RULE_tangledPrimaryExpression |
typeof TangledPrimaryExpression |
RULE_typeofTypeSpecifierExpression |
typeof TypeofTypeSpecifierExpression |
RULE_voidOrNullOrUndefinedPrimaryExpression |
typeof VoidOrNullOrUndefinedPrimaryExpression |
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:276
statementKindToClassMap
▪ Static Readonly statementKindToClassMap: Object
A mapping matching all statement kinds to their respective constructable AST node classes.
Since
0.10.0
Type declaration
| Name | Type |
|---|---|
16 |
typeof CompoundStatement |
17 |
typeof ExpressionStatement |
19 |
typeof IfStatement |
20 |
typeof SwitchStatement |
23 |
typeof ForLoopIterationStatement |
24 |
typeof WhileLoopIterationStatement |
25 |
typeof DoWhileLoopIterationStatement |
26 |
typeof JumpStatement |
27 |
typeof ReturnStatement |
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:175
statementKindToRuleContextMap
▪ Static Readonly statementKindToRuleContextMap: Object
A mapping matching all statement kinds to their respective constructable AST node classes.
Since
0.11.0
Type declaration
| Name | Type |
|---|---|
16 |
typeof CompoundStatementContext |
17 |
typeof ExpressionStatementContext |
19 |
typeof IfStatementContext |
20 |
typeof SwitchStatementContext |
23 |
typeof ForLoopIterationStatementContext |
24 |
typeof WhileLoopIterationStatementContext |
25 |
typeof DoWhileLoopIterationStatementContext |
26 |
typeof JumpStatementContext |
27 |
typeof ReturnStatementContext |
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:248
statementRuleNameToClassMap
▪ Static Readonly statementRuleNameToClassMap: Object
A mapping matching all statement rule names to their respective constructable AST node classes.
Since
0.11.0
Type declaration
| Name | Type |
|---|---|
RULE_compoundStatement |
typeof CompoundStatement |
RULE_doWhileLoopIterationStatement |
typeof DoWhileLoopIterationStatement |
RULE_expressionStatement |
typeof ExpressionStatement |
RULE_forLoopIterationStatement |
typeof ForLoopIterationStatement |
RULE_ifStatement |
typeof IfStatement |
RULE_jumpStatement |
typeof JumpStatement |
RULE_returnStatement |
typeof ReturnStatement |
RULE_switchStatement |
typeof SwitchStatement |
RULE_whileLoopIterationStatement |
typeof WhileLoopIterationStatement |
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:316
Methods
mapDeclarationKindToClass
▸ Static mapDeclarationKindToClass<T>(kind): { 13: typeof ParameterDeclaration = ParameterDeclaration; 6: typeof FunctionDeclaration = FunctionDeclaration; 7: typeof VariableDeclaration = VariableDeclaration }[T]
A mapping function matching all declaration kinds to their respective constructable Declaration AST node classes.
Since
0.11.0
Type parameters
| Name | Type |
|---|---|
T |
extends ASTDeclarationKind |
Parameters
| Name | Type | Description |
|---|---|---|
kind |
T |
The declaration kind to map to a class. |
Returns
{ 13: typeof ParameterDeclaration = ParameterDeclaration; 6: typeof FunctionDeclaration = FunctionDeclaration; 7: typeof VariableDeclaration = VariableDeclaration }[T]
The class matching the given declaration kind.
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:335
mapDeclarationKindToRuleContext
▸ Static mapDeclarationKindToRuleContext<T>(kind): { 13: typeof ParameterDeclarationContext = ParameterDeclarationContext; 6: typeof FunctionDeclarationContext = FunctionDeclarationContext; 7: typeof VariableDeclarationContext = VariableDeclarationContext }[T]
A mapping function matching all expression rule names to their respective constructable Declaration AST node classes.
Since
0.11.0
Type parameters
| Name | Type |
|---|---|
T |
extends ASTDeclarationKind |
Parameters
| Name | Type | Description |
|---|---|---|
kind |
T |
The declaration rule name to map to a class. |
Returns
{ 13: typeof ParameterDeclarationContext = ParameterDeclarationContext; 6: typeof FunctionDeclarationContext = FunctionDeclarationContext; 7: typeof VariableDeclarationContext = VariableDeclarationContext }[T]
The class matching the given declaration rule name.
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:375
mapDeclarationRuleNameToClass
▸ Static mapDeclarationRuleNameToClass<T>(name): { RULE_functionDeclaration: typeof FunctionDeclaration = FunctionDeclaration; RULE_parameterDeclaration: typeof ParameterDeclaration = ParameterDeclaration; RULE_variableDeclaration: typeof VariableDeclaration = VariableDeclaration }[T]
A mapping function matching all declaration rule names to their respective constructable Declaration AST node classes.
Since
0.11.0
Type parameters
| Name | Type |
|---|---|
T |
extends ASTDeclarationRuleName |
Parameters
| Name | Type | Description |
|---|---|---|
name |
T |
The declaration rule name to map to a class. |
Returns
{ RULE_functionDeclaration: typeof FunctionDeclaration = FunctionDeclaration; RULE_parameterDeclaration: typeof ParameterDeclaration = ParameterDeclaration; RULE_variableDeclaration: typeof VariableDeclaration = VariableDeclaration }[T]
The class matching the given declaration rule name.
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:414
mapExpressionKindToClass
▸ Static mapExpressionKindToClass<T>(kind): { 1001: typeof MemberAccessExpression = MemberAccessExpression; 1002: typeof FunctionCallExpression = FunctionCallExpression; 29: typeof LambdaExpression = LambdaExpression; 30: typeof TangledPrimaryExpression = TangledPrimaryExpression; 31: typeof BoolPrimaryExpression = BoolPrimaryExpression; 32: typeof IdentifierPrimaryExpression = IdentifierPrimaryExpression; 35: typeof StringPrimaryExpression = StringPrimaryExpression; 36: typeof FStringPrimaryExpression = FStringPrimaryExpression; 39: typeof NumberPrimaryExpression = NumberPrimaryExpression; 40: typeof ArrayPrimaryExpression = ArrayPrimaryExpression; 41: typeof ObjectPrimaryExpression = ObjectPrimaryExpression; 42: typeof ObjectProperty = ObjectProperty; 43: typeof VoidOrNullOrUndefinedPrimaryExpression = VoidOrNullOrUndefinedPrimaryExpression; 50: typeof IncrementOrDecrementPostfixExpression = IncrementOrDecrementPostfixExpression; 52: typeof IncrementOrDecrementUnaryExpression = IncrementOrDecrementUnaryExpression; 53: typeof OperatorModifiedUnaryExpression = OperatorModifiedUnaryExpression; 56: typeof CastOrConvertExpression = CastOrConvertExpression; 57: typeof MultiplicativeExpression = MultiplicativeExpression; 58: typeof AdditiveExpression = AdditiveExpression; 59: typeof BitwiseShiftExpression = BitwiseShiftExpression; 61: typeof RelationalExpression = RelationalExpression; 62: typeof EqualityExpression = EqualityExpression; 63: typeof BitwiseAndExpression = BitwiseAndExpression; 64: typeof BitwiseXorExpression = BitwiseXorExpression; 65: typeof BitwiseOrExpression = BitwiseOrExpression; 66: typeof LogicalAndExpression = LogicalAndExpression; 67: typeof LogicalOrExpression = LogicalOrExpression; 68: typeof ConditionalExpression = ConditionalExpression; 69: typeof AssignmentExpression = AssignmentExpression; 73: typeof IdentifierTypeSpecifierExpression = IdentifierTypeSpecifierExpression; 74: typeof GenericTypeSpecifierExpression = GenericTypeSpecifierExpression; 75: typeof TypeofTypeSpecifierExpression = TypeofTypeSpecifierExpression }[T]
A mapping function matching all expression kinds to their respective constructable Expression AST node classes.
Since
0.11.0
Type parameters
| Name | Type |
|---|---|
T |
extends ASTExpressionKind |
Parameters
| Name | Type | Description |
|---|---|---|
kind |
T |
The expression kind to map to a class. |
Returns
{ 1001: typeof MemberAccessExpression = MemberAccessExpression; 1002: typeof FunctionCallExpression = FunctionCallExpression; 29: typeof LambdaExpression = LambdaExpression; 30: typeof TangledPrimaryExpression = TangledPrimaryExpression; 31: typeof BoolPrimaryExpression = BoolPrimaryExpression; 32: typeof IdentifierPrimaryExpression = IdentifierPrimaryExpression; 35: typeof StringPrimaryExpression = StringPrimaryExpression; 36: typeof FStringPrimaryExpression = FStringPrimaryExpression; 39: typeof NumberPrimaryExpression = NumberPrimaryExpression; 40: typeof ArrayPrimaryExpression = ArrayPrimaryExpression; 41: typeof ObjectPrimaryExpression = ObjectPrimaryExpression; 42: typeof ObjectProperty = ObjectProperty; 43: typeof VoidOrNullOrUndefinedPrimaryExpression = VoidOrNullOrUndefinedPrimaryExpression; 50: typeof IncrementOrDecrementPostfixExpression = IncrementOrDecrementPostfixExpression; 52: typeof IncrementOrDecrementUnaryExpression = IncrementOrDecrementUnaryExpression; 53: typeof OperatorModifiedUnaryExpression = OperatorModifiedUnaryExpression; 56: typeof CastOrConvertExpression = CastOrConvertExpression; 57: typeof MultiplicativeExpression = MultiplicativeExpression; 58: typeof AdditiveExpression = AdditiveExpression; 59: typeof BitwiseShiftExpression = BitwiseShiftExpression; 61: typeof RelationalExpression = RelationalExpression; 62: typeof EqualityExpression = EqualityExpression; 63: typeof BitwiseAndExpression = BitwiseAndExpression; 64: typeof BitwiseXorExpression = BitwiseXorExpression; 65: typeof BitwiseOrExpression = BitwiseOrExpression; 66: typeof LogicalAndExpression = LogicalAndExpression; 67: typeof LogicalOrExpression = LogicalOrExpression; 68: typeof ConditionalExpression = ConditionalExpression; 69: typeof AssignmentExpression = AssignmentExpression; 73: typeof IdentifierTypeSpecifierExpression = IdentifierTypeSpecifierExpression; 74: typeof GenericTypeSpecifierExpression = GenericTypeSpecifierExpression; 75: typeof TypeofTypeSpecifierExpression = TypeofTypeSpecifierExpression }[T]
The class matching the given expression kind.
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:348
mapExpressionKindToRuleContext
▸ Static mapExpressionKindToRuleContext<T>(kind): { 1001: (typeof DotNotationMemberAccessExpressionContext | typeof BracketNotationMemberAccessExpressionContext | typeof SliceNotationMemberAccessExpressionContext)[] ; 1002: typeof FunctionCallExpressionContext = FunctionCallExpressionContext; 29: typeof LambdaExpressionContext = LambdaExpressionContext; 30: typeof TangledPrimaryExpressionContext = TangledPrimaryExpressionContext; 31: typeof BoolPrimaryExpressionContext = BoolPrimaryExpressionContext; 32: typeof IdentifierPrimaryExpressionContext = IdentifierPrimaryExpressionContext; 35: typeof StringPrimaryExpressionContext = StringPrimaryExpressionContext; 36: typeof FStringPrimaryExpressionContext = FStringPrimaryExpressionContext; 39: typeof NumberPrimaryExpressionContext = NumberPrimaryExpressionContext; 40: typeof ArrayPrimaryExpressionContext = ArrayPrimaryExpressionContext; 41: typeof ObjectPrimaryExpressionContext = ObjectPrimaryExpressionContext; 42: typeof ObjectPropertyContext = ObjectPropertyContext; 43: typeof VoidOrNullOrUndefinedPrimaryExpressionContext = VoidOrNullOrUndefinedPrimaryExpressionContext; 50: typeof IncrementOrDecrementPostfixExpressionContext = IncrementOrDecrementPostfixExpressionContext; 52: typeof IncrementOrDecrementUnaryExpressionContext = IncrementOrDecrementUnaryExpressionContext; 53: typeof OperatorModifiedUnaryExpressionContext = OperatorModifiedUnaryExpressionContext; 56: typeof CastOrConvertExpressionContext = CastOrConvertExpressionContext; 57: typeof MultiplicativeExpressionContext = MultiplicativeExpressionContext; 58: typeof AdditiveExpressionContext = AdditiveExpressionContext; 59: typeof BitwiseShiftExpressionContext = BitwiseShiftExpressionContext; 61: typeof RelationalExpressionContext = RelationalExpressionContext; 62: typeof EqualityExpressionContext = EqualityExpressionContext; 63: typeof BitwiseAndExpressionContext = BitwiseAndExpressionContext; 64: typeof BitwiseXorExpressionContext = BitwiseXorExpressionContext; 65: typeof BitwiseOrExpressionContext = BitwiseOrExpressionContext; 66: typeof LogicalAndExpressionContext = LogicalAndExpressionContext; 67: typeof LogicalOrExpressionContext = LogicalOrExpressionContext; 68: typeof ConditionalExpressionContext = ConditionalExpressionContext; 69: typeof AssignmentExpressionContext = AssignmentExpressionContext; 73: typeof IdentifierTypeSpecifierExpressionContext = IdentifierTypeSpecifierExpressionContext; 74: typeof GenericTypeSpecifierExpressionContext = GenericTypeSpecifierExpressionContext; 75: typeof TypeofTypeSpecifierExpressionContext = TypeofTypeSpecifierExpressionContext }[T]
A mapping function matching all expression rule names to their respective constructable Expression AST node classes.
Since
0.11.0
Type parameters
| Name | Type |
|---|---|
T |
extends ASTExpressionKind |
Parameters
| Name | Type | Description |
|---|---|---|
kind |
T |
The expression rule name to map to a class. |
Returns
{ 1001: (typeof DotNotationMemberAccessExpressionContext | typeof BracketNotationMemberAccessExpressionContext | typeof SliceNotationMemberAccessExpressionContext)[] ; 1002: typeof FunctionCallExpressionContext = FunctionCallExpressionContext; 29: typeof LambdaExpressionContext = LambdaExpressionContext; 30: typeof TangledPrimaryExpressionContext = TangledPrimaryExpressionContext; 31: typeof BoolPrimaryExpressionContext = BoolPrimaryExpressionContext; 32: typeof IdentifierPrimaryExpressionContext = IdentifierPrimaryExpressionContext; 35: typeof StringPrimaryExpressionContext = StringPrimaryExpressionContext; 36: typeof FStringPrimaryExpressionContext = FStringPrimaryExpressionContext; 39: typeof NumberPrimaryExpressionContext = NumberPrimaryExpressionContext; 40: typeof ArrayPrimaryExpressionContext = ArrayPrimaryExpressionContext; 41: typeof ObjectPrimaryExpressionContext = ObjectPrimaryExpressionContext; 42: typeof ObjectPropertyContext = ObjectPropertyContext; 43: typeof VoidOrNullOrUndefinedPrimaryExpressionContext = VoidOrNullOrUndefinedPrimaryExpressionContext; 50: typeof IncrementOrDecrementPostfixExpressionContext = IncrementOrDecrementPostfixExpressionContext; 52: typeof IncrementOrDecrementUnaryExpressionContext = IncrementOrDecrementUnaryExpressionContext; 53: typeof OperatorModifiedUnaryExpressionContext = OperatorModifiedUnaryExpressionContext; 56: typeof CastOrConvertExpressionContext = CastOrConvertExpressionContext; 57: typeof MultiplicativeExpressionContext = MultiplicativeExpressionContext; 58: typeof AdditiveExpressionContext = AdditiveExpressionContext; 59: typeof BitwiseShiftExpressionContext = BitwiseShiftExpressionContext; 61: typeof RelationalExpressionContext = RelationalExpressionContext; 62: typeof EqualityExpressionContext = EqualityExpressionContext; 63: typeof BitwiseAndExpressionContext = BitwiseAndExpressionContext; 64: typeof BitwiseXorExpressionContext = BitwiseXorExpressionContext; 65: typeof BitwiseOrExpressionContext = BitwiseOrExpressionContext; 66: typeof LogicalAndExpressionContext = LogicalAndExpressionContext; 67: typeof LogicalOrExpressionContext = LogicalOrExpressionContext; 68: typeof ConditionalExpressionContext = ConditionalExpressionContext; 69: typeof AssignmentExpressionContext = AssignmentExpressionContext; 73: typeof IdentifierTypeSpecifierExpressionContext = IdentifierTypeSpecifierExpressionContext; 74: typeof GenericTypeSpecifierExpressionContext = GenericTypeSpecifierExpressionContext; 75: typeof TypeofTypeSpecifierExpressionContext = TypeofTypeSpecifierExpressionContext }[T]
The class matching the given expression rule name.
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:388
mapExpressionRuleNameToClass
▸ Static mapExpressionRuleNameToClass<T>(name): { RULE_additiveExpression: typeof AdditiveExpression = AdditiveExpression; RULE_arrayPrimaryExpression: typeof ArrayPrimaryExpression = ArrayPrimaryExpression; RULE_assignmentExpression: typeof AssignmentExpression = AssignmentExpression; RULE_bitwiseAndExpression: typeof BitwiseAndExpression = BitwiseAndExpression; RULE_bitwiseOrExpression: typeof BitwiseOrExpression = BitwiseOrExpression; RULE_bitwiseShiftExpression: typeof BitwiseShiftExpression = BitwiseShiftExpression; RULE_bitwiseXorExpression: typeof BitwiseXorExpression = BitwiseXorExpression; RULE_boolPrimaryExpression: typeof BoolPrimaryExpression = BoolPrimaryExpression; RULE_castOrConvertExpression: typeof CastOrConvertExpression = CastOrConvertExpression; RULE_conditionalExpression: typeof ConditionalExpression = ConditionalExpression; RULE_equalityExpression: typeof EqualityExpression = EqualityExpression; RULE_fStringPrimaryExpression: typeof FStringPrimaryExpression = FStringPrimaryExpression; RULE_functionCallExpression: typeof FunctionCallExpression = FunctionCallExpression; RULE_genericTypeSpecifierExpression: typeof GenericTypeSpecifierExpression = GenericTypeSpecifierExpression; RULE_identifierPrimaryExpression: typeof IdentifierPrimaryExpression = IdentifierPrimaryExpression; RULE_identifierTypeSpecifierExpression: typeof IdentifierTypeSpecifierExpression = IdentifierTypeSpecifierExpression; RULE_incrementOrDecrementPostfixExpression: typeof IncrementOrDecrementPostfixExpression = IncrementOrDecrementPostfixExpression; RULE_incrementOrDecrementUnaryExpression: typeof IncrementOrDecrementUnaryExpression = IncrementOrDecrementUnaryExpression; RULE_lambdaExpression: typeof LambdaExpression = LambdaExpression; RULE_logicalAndExpression: typeof LogicalAndExpression = LogicalAndExpression; RULE_logicalOrExpression: typeof LogicalOrExpression = LogicalOrExpression; RULE_memberAccessExpression: typeof MemberAccessExpression = MemberAccessExpression; RULE_multiplicativeExpression: typeof MultiplicativeExpression = MultiplicativeExpression; RULE_numberPrimaryExpression: typeof NumberPrimaryExpression = NumberPrimaryExpression; RULE_objectPrimaryExpression: typeof ObjectPrimaryExpression = ObjectPrimaryExpression; RULE_objectProperty: typeof ObjectProperty = ObjectProperty; RULE_operatorModifiedUnaryExpression: typeof OperatorModifiedUnaryExpression = OperatorModifiedUnaryExpression; RULE_relationalExpression: typeof RelationalExpression = RelationalExpression; RULE_stringPrimaryExpression: typeof StringPrimaryExpression = StringPrimaryExpression; RULE_tangledPrimaryExpression: typeof TangledPrimaryExpression = TangledPrimaryExpression; RULE_typeofTypeSpecifierExpression: typeof TypeofTypeSpecifierExpression = TypeofTypeSpecifierExpression; RULE_voidOrNullOrUndefinedPrimaryExpression: typeof VoidOrNullOrUndefinedPrimaryExpression = VoidOrNullOrUndefinedPrimaryExpression }[T]
A mapping function matching all expression rule names to their respective constructable Expression AST node classes.
Since
0.11.0
Type parameters
| Name | Type |
|---|---|
T |
extends ASTExpressionRuleName |
Parameters
| Name | Type | Description |
|---|---|---|
name |
T |
The expression rule name to map to a class. |
Returns
{ RULE_additiveExpression: typeof AdditiveExpression = AdditiveExpression; RULE_arrayPrimaryExpression: typeof ArrayPrimaryExpression = ArrayPrimaryExpression; RULE_assignmentExpression: typeof AssignmentExpression = AssignmentExpression; RULE_bitwiseAndExpression: typeof BitwiseAndExpression = BitwiseAndExpression; RULE_bitwiseOrExpression: typeof BitwiseOrExpression = BitwiseOrExpression; RULE_bitwiseShiftExpression: typeof BitwiseShiftExpression = BitwiseShiftExpression; RULE_bitwiseXorExpression: typeof BitwiseXorExpression = BitwiseXorExpression; RULE_boolPrimaryExpression: typeof BoolPrimaryExpression = BoolPrimaryExpression; RULE_castOrConvertExpression: typeof CastOrConvertExpression = CastOrConvertExpression; RULE_conditionalExpression: typeof ConditionalExpression = ConditionalExpression; RULE_equalityExpression: typeof EqualityExpression = EqualityExpression; RULE_fStringPrimaryExpression: typeof FStringPrimaryExpression = FStringPrimaryExpression; RULE_functionCallExpression: typeof FunctionCallExpression = FunctionCallExpression; RULE_genericTypeSpecifierExpression: typeof GenericTypeSpecifierExpression = GenericTypeSpecifierExpression; RULE_identifierPrimaryExpression: typeof IdentifierPrimaryExpression = IdentifierPrimaryExpression; RULE_identifierTypeSpecifierExpression: typeof IdentifierTypeSpecifierExpression = IdentifierTypeSpecifierExpression; RULE_incrementOrDecrementPostfixExpression: typeof IncrementOrDecrementPostfixExpression = IncrementOrDecrementPostfixExpression; RULE_incrementOrDecrementUnaryExpression: typeof IncrementOrDecrementUnaryExpression = IncrementOrDecrementUnaryExpression; RULE_lambdaExpression: typeof LambdaExpression = LambdaExpression; RULE_logicalAndExpression: typeof LogicalAndExpression = LogicalAndExpression; RULE_logicalOrExpression: typeof LogicalOrExpression = LogicalOrExpression; RULE_memberAccessExpression: typeof MemberAccessExpression = MemberAccessExpression; RULE_multiplicativeExpression: typeof MultiplicativeExpression = MultiplicativeExpression; RULE_numberPrimaryExpression: typeof NumberPrimaryExpression = NumberPrimaryExpression; RULE_objectPrimaryExpression: typeof ObjectPrimaryExpression = ObjectPrimaryExpression; RULE_objectProperty: typeof ObjectProperty = ObjectProperty; RULE_operatorModifiedUnaryExpression: typeof OperatorModifiedUnaryExpression = OperatorModifiedUnaryExpression; RULE_relationalExpression: typeof RelationalExpression = RelationalExpression; RULE_stringPrimaryExpression: typeof StringPrimaryExpression = StringPrimaryExpression; RULE_tangledPrimaryExpression: typeof TangledPrimaryExpression = TangledPrimaryExpression; RULE_typeofTypeSpecifierExpression: typeof TypeofTypeSpecifierExpression = TypeofTypeSpecifierExpression; RULE_voidOrNullOrUndefinedPrimaryExpression: typeof VoidOrNullOrUndefinedPrimaryExpression = VoidOrNullOrUndefinedPrimaryExpression }[T]
The class matching the given expression rule name.
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:427
mapStatementKindToClass
▸ Static mapStatementKindToClass<T>(kind): { 16: typeof CompoundStatement = CompoundStatement; 17: typeof ExpressionStatement = ExpressionStatement; 19: typeof IfStatement = IfStatement; 20: typeof SwitchStatement = SwitchStatement; 23: typeof ForLoopIterationStatement = ForLoopIterationStatement; 24: typeof WhileLoopIterationStatement = WhileLoopIterationStatement; 25: typeof DoWhileLoopIterationStatement = DoWhileLoopIterationStatement; 26: typeof JumpStatement = JumpStatement; 27: typeof ReturnStatement = ReturnStatement }[T]
A mapping function matching all statement kinds to their respective constructable Statement AST node classes.
Since
0.11.0
Since
0.11.0
Type parameters
| Name | Type |
|---|---|
T |
extends ASTStatementKind |
Parameters
| Name | Type | Description |
|---|---|---|
kind |
T |
The statement kind to map to a class. |
Returns
{ 16: typeof CompoundStatement = CompoundStatement; 17: typeof ExpressionStatement = ExpressionStatement; 19: typeof IfStatement = IfStatement; 20: typeof SwitchStatement = SwitchStatement; 23: typeof ForLoopIterationStatement = ForLoopIterationStatement; 24: typeof WhileLoopIterationStatement = WhileLoopIterationStatement; 25: typeof DoWhileLoopIterationStatement = DoWhileLoopIterationStatement; 26: typeof JumpStatement = JumpStatement; 27: typeof ReturnStatement = ReturnStatement }[T]
The class matching the given statement kind.
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:362
mapStatementKindToRuleContext
▸ Static mapStatementKindToRuleContext<T>(kind): { 16: typeof CompoundStatementContext = CompoundStatementContext; 17: typeof ExpressionStatementContext = ExpressionStatementContext; 19: typeof IfStatementContext = IfStatementContext; 20: typeof SwitchStatementContext = SwitchStatementContext; 23: typeof ForLoopIterationStatementContext = ForLoopIterationStatementContext; 24: typeof WhileLoopIterationStatementContext = WhileLoopIterationStatementContext; 25: typeof DoWhileLoopIterationStatementContext = DoWhileLoopIterationStatementContext; 26: typeof JumpStatementContext = JumpStatementContext; 27: typeof ReturnStatementContext = ReturnStatementContext }[T]
A mapping function matching all expression rule names to their respective constructable Statement AST node classes.
Since
0.11.0
Type parameters
| Name | Type |
|---|---|
T |
extends ASTStatementKind |
Parameters
| Name | Type | Description |
|---|---|---|
kind |
T |
The statement rule name to map to a class. |
Returns
{ 16: typeof CompoundStatementContext = CompoundStatementContext; 17: typeof ExpressionStatementContext = ExpressionStatementContext; 19: typeof IfStatementContext = IfStatementContext; 20: typeof SwitchStatementContext = SwitchStatementContext; 23: typeof ForLoopIterationStatementContext = ForLoopIterationStatementContext; 24: typeof WhileLoopIterationStatementContext = WhileLoopIterationStatementContext; 25: typeof DoWhileLoopIterationStatementContext = DoWhileLoopIterationStatementContext; 26: typeof JumpStatementContext = JumpStatementContext; 27: typeof ReturnStatementContext = ReturnStatementContext }[T]
The class matching the given statement rule name.
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:401
mapStatementRuleNameToClass
▸ Static mapStatementRuleNameToClass<T>(name): { RULE_compoundStatement: typeof CompoundStatement = CompoundStatement; RULE_doWhileLoopIterationStatement: typeof DoWhileLoopIterationStatement = DoWhileLoopIterationStatement; RULE_expressionStatement: typeof ExpressionStatement = ExpressionStatement; RULE_forLoopIterationStatement: typeof ForLoopIterationStatement = ForLoopIterationStatement; RULE_ifStatement: typeof IfStatement = IfStatement; RULE_jumpStatement: typeof JumpStatement = JumpStatement; RULE_returnStatement: typeof ReturnStatement = ReturnStatement; RULE_switchStatement: typeof SwitchStatement = SwitchStatement; RULE_whileLoopIterationStatement: typeof WhileLoopIterationStatement = WhileLoopIterationStatement }[T]
A mapping function matching all statement rule names to their respective constructable Statement AST node classes.
Since
0.11.0
Type parameters
| Name | Type |
|---|---|
T |
extends ASTStatementRuleName |
Parameters
| Name | Type | Description |
|---|---|---|
name |
T |
The statement rule name to map to a class. |
Returns
{ RULE_compoundStatement: typeof CompoundStatement = CompoundStatement; RULE_doWhileLoopIterationStatement: typeof DoWhileLoopIterationStatement = DoWhileLoopIterationStatement; RULE_expressionStatement: typeof ExpressionStatement = ExpressionStatement; RULE_forLoopIterationStatement: typeof ForLoopIterationStatement = ForLoopIterationStatement; RULE_ifStatement: typeof IfStatement = IfStatement; RULE_jumpStatement: typeof JumpStatement = JumpStatement; RULE_returnStatement: typeof ReturnStatement = ReturnStatement; RULE_switchStatement: typeof SwitchStatement = SwitchStatement; RULE_whileLoopIterationStatement: typeof WhileLoopIterationStatement = WhileLoopIterationStatement }[T]
The class matching the given statement rule name.
Defined in
kipper/core/src/compiler/ast/mapping/ast-node-mapper.ts:440