@@ -40,83 +40,85 @@ export class ContractMember extends SlangNode {
4040 constructor ( ast : ast . ContractMember , options : ParserOptions < AstNode > ) {
4141 super ( ast ) ;
4242
43- switch ( ast . variant . cst . kind ) {
43+ const variant = ast . variant ;
44+ const variantKind = variant . cst . kind ;
45+ switch ( variantKind ) {
4446 case NonterminalKind . UsingDirective :
4547 this . variant = new UsingDirective (
46- ast . variant as ast . UsingDirective ,
48+ variant as ast . UsingDirective ,
4749 options
4850 ) ;
4951 break ;
5052 case NonterminalKind . FunctionDefinition :
5153 this . variant = new FunctionDefinition (
52- ast . variant as ast . FunctionDefinition ,
54+ variant as ast . FunctionDefinition ,
5355 options
5456 ) ;
5557 break ;
5658 case NonterminalKind . ConstructorDefinition :
5759 this . variant = new ConstructorDefinition (
58- ast . variant as ast . ConstructorDefinition ,
60+ variant as ast . ConstructorDefinition ,
5961 options
6062 ) ;
6163 break ;
6264 case NonterminalKind . ReceiveFunctionDefinition :
6365 this . variant = new ReceiveFunctionDefinition (
64- ast . variant as ast . ReceiveFunctionDefinition ,
66+ variant as ast . ReceiveFunctionDefinition ,
6567 options
6668 ) ;
6769 break ;
6870 case NonterminalKind . FallbackFunctionDefinition :
6971 this . variant = new FallbackFunctionDefinition (
70- ast . variant as ast . FallbackFunctionDefinition ,
72+ variant as ast . FallbackFunctionDefinition ,
7173 options
7274 ) ;
7375 break ;
7476 case NonterminalKind . UnnamedFunctionDefinition :
7577 this . variant = new UnnamedFunctionDefinition (
76- ast . variant as ast . UnnamedFunctionDefinition ,
78+ variant as ast . UnnamedFunctionDefinition ,
7779 options
7880 ) ;
7981 break ;
8082 case NonterminalKind . ModifierDefinition :
8183 this . variant = new ModifierDefinition (
82- ast . variant as ast . ModifierDefinition ,
84+ variant as ast . ModifierDefinition ,
8385 options
8486 ) ;
8587 break ;
8688 case NonterminalKind . StructDefinition :
8789 this . variant = new StructDefinition (
88- ast . variant as ast . StructDefinition ,
90+ variant as ast . StructDefinition ,
8991 options
9092 ) ;
9193 break ;
9294 case NonterminalKind . EnumDefinition :
93- this . variant = new EnumDefinition ( ast . variant as ast . EnumDefinition ) ;
95+ this . variant = new EnumDefinition ( variant as ast . EnumDefinition ) ;
9496 break ;
9597 case NonterminalKind . EventDefinition :
9698 this . variant = new EventDefinition (
97- ast . variant as ast . EventDefinition ,
99+ variant as ast . EventDefinition ,
98100 options
99101 ) ;
100102 break ;
101103 case NonterminalKind . StateVariableDefinition :
102104 this . variant = new StateVariableDefinition (
103- ast . variant as ast . StateVariableDefinition ,
105+ variant as ast . StateVariableDefinition ,
104106 options
105107 ) ;
106108 break ;
107109 case NonterminalKind . ErrorDefinition :
108110 this . variant = new ErrorDefinition (
109- ast . variant as ast . ErrorDefinition ,
111+ variant as ast . ErrorDefinition ,
110112 options
111113 ) ;
112114 break ;
113115 case NonterminalKind . UserDefinedValueTypeDefinition :
114116 this . variant = new UserDefinedValueTypeDefinition (
115- ast . variant as ast . UserDefinedValueTypeDefinition
117+ variant as ast . UserDefinedValueTypeDefinition
116118 ) ;
117119 break ;
118120 default :
119- throw new Error ( `Unexpected variant: ${ ast . variant . cst . kind } ` ) ;
121+ throw new Error ( `Unexpected variant: ${ variantKind } ` ) ;
120122 }
121123
122124 this . updateMetadata ( this . variant ) ;
0 commit comments