@@ -680,38 +680,29 @@ impl<'a> Builder<'a, InitState> {
680680 match node_kind {
681681 "array_index_access_expression" => Expression :: ArrayIndexAccess (
682682 self . build_array_index_access_expression ( parent_id, node, code) ,
683- None ,
684- ) ,
685- "member_access_expression" => Expression :: MemberAccess (
686- self . build_member_access_expression ( parent_id, node, code) ,
687- None ,
688- ) ,
689- "type" => Expression :: Type ( self . build_type ( parent_id, node, code) , None ) ,
690- "function_call_expression" => Expression :: FunctionCall (
691- self . build_function_call_expression ( parent_id, node, code) ,
692- None ,
693- ) ,
694- "prefix_unary_expression" => Expression :: PrefixUnary (
695- self . build_prefix_unary_expression ( parent_id, node, code) ,
696- None ,
697683 ) ,
684+ "member_access_expression" => {
685+ Expression :: MemberAccess ( self . build_member_access_expression ( parent_id, node, code) )
686+ }
687+ "type" => Expression :: Type ( self . build_type ( parent_id, node, code) ) ,
688+ "function_call_expression" => {
689+ Expression :: FunctionCall ( self . build_function_call_expression ( parent_id, node, code) )
690+ }
691+ "prefix_unary_expression" => {
692+ Expression :: PrefixUnary ( self . build_prefix_unary_expression ( parent_id, node, code) )
693+ }
698694 "parenthesized_expression" => Expression :: Parenthesized (
699695 self . build_parenthesized_expression ( parent_id, node, code) ,
700- None ,
701696 ) ,
702697 "binary_expression" => {
703- Expression :: Binary ( self . build_binary_expression ( parent_id, node, code) , None )
698+ Expression :: Binary ( self . build_binary_expression ( parent_id, node, code) )
704699 }
705700 "bool_literal" | "string_literal" | "number_literal" | "array_literal"
706- | "unit_literal" => {
707- Expression :: Literal ( self . build_literal ( parent_id, node, code) , None )
708- }
701+ | "unit_literal" => Expression :: Literal ( self . build_literal ( parent_id, node, code) ) ,
709702 "uzumaki_keyword" => {
710- Expression :: Uzumaki ( self . build_uzumaki_expression ( parent_id, node, code) , None )
711- }
712- "identifier" => {
713- Expression :: Identifier ( self . build_identifier ( parent_id, node, code) , None )
703+ Expression :: Uzumaki ( self . build_uzumaki_expression ( parent_id, node, code) )
714704 }
705+ "identifier" => Expression :: Identifier ( self . build_identifier ( parent_id, node, code) ) ,
715706 _ => panic ! ( "Unexpected expression node kind: {node_kind}" ) ,
716707 }
717708 }
@@ -748,7 +739,7 @@ impl<'a> Builder<'a, InitState> {
748739
749740 let node = Rc :: new ( ArrayIndexAccessExpression :: new ( id, location, array, index) ) ;
750741 self . arena . add_node (
751- AstNode :: Expression ( Expression :: ArrayIndexAccess ( node. clone ( ) , None ) ) ,
742+ AstNode :: Expression ( Expression :: ArrayIndexAccess ( node. clone ( ) ) ) ,
752743 parent_id,
753744 ) ;
754745 node
@@ -767,7 +758,7 @@ impl<'a> Builder<'a, InitState> {
767758 let name = self . build_identifier ( id, & node. child_by_field_name ( "name" ) . unwrap ( ) , code) ;
768759 let node = Rc :: new ( MemberAccessExpression :: new ( id, location, expression, name) ) ;
769760 self . arena . add_node (
770- AstNode :: Expression ( Expression :: MemberAccess ( node. clone ( ) , None ) ) ,
761+ AstNode :: Expression ( Expression :: MemberAccess ( node. clone ( ) ) ) ,
771762 parent_id,
772763 ) ;
773764 node
@@ -794,7 +785,7 @@ impl<'a> Builder<'a, InitState> {
794785 match field {
795786 "argument_name" => {
796787 let expr = self . build_expression ( id, & child, code) ;
797- if let Expression :: Identifier ( ident, _ ) = expr {
788+ if let Expression :: Identifier ( ident) = expr {
798789 pending_name = Some ( ident) ;
799790 }
800791 }
@@ -822,7 +813,7 @@ impl<'a> Builder<'a, InitState> {
822813 id, location, function, arguments,
823814 ) ) ;
824815 self . arena . add_node (
825- AstNode :: Expression ( Expression :: FunctionCall ( node. clone ( ) , None ) ) ,
816+ AstNode :: Expression ( Expression :: FunctionCall ( node. clone ( ) ) ) ,
826817 parent_id,
827818 ) ;
828819 node
@@ -848,7 +839,7 @@ impl<'a> Builder<'a, InitState> {
848839 id, location, expression, operator,
849840 ) ) ;
850841 self . arena . add_node (
851- AstNode :: Expression ( Expression :: PrefixUnary ( node. clone ( ) , None ) ) ,
842+ AstNode :: Expression ( Expression :: PrefixUnary ( node. clone ( ) ) ) ,
852843 parent_id,
853844 ) ;
854845 node
@@ -899,7 +890,7 @@ impl<'a> Builder<'a, InitState> {
899890
900891 let node = Rc :: new ( ParenthesizedExpression :: new ( id, location, expression) ) ;
901892 self . arena . add_node (
902- AstNode :: Expression ( Expression :: Parenthesized ( node. clone ( ) , None ) ) ,
893+ AstNode :: Expression ( Expression :: Parenthesized ( node. clone ( ) ) ) ,
903894 parent_id,
904895 ) ;
905896 node
@@ -942,7 +933,7 @@ impl<'a> Builder<'a, InitState> {
942933
943934 let node = Rc :: new ( BinaryExpression :: new ( id, location, left, operator, right) ) ;
944935 self . arena . add_node (
945- AstNode :: Expression ( Expression :: Binary ( node. clone ( ) , None ) ) ,
936+ AstNode :: Expression ( Expression :: Binary ( node. clone ( ) ) ) ,
946937 parent_id,
947938 ) ;
948939 node
@@ -975,7 +966,7 @@ impl<'a> Builder<'a, InitState> {
975966
976967 let node = Rc :: new ( ArrayLiteral :: new ( id, location, elements) ) ;
977968 self . arena . add_node (
978- AstNode :: Expression ( Expression :: Literal ( Literal :: Array ( node. clone ( ) ) , None ) ) ,
969+ AstNode :: Expression ( Expression :: Literal ( Literal :: Array ( node. clone ( ) ) ) ) ,
979970 parent_id,
980971 ) ;
981972 node
@@ -992,7 +983,7 @@ impl<'a> Builder<'a, InitState> {
992983
993984 let node = Rc :: new ( BoolLiteral :: new ( id, location, value) ) ;
994985 self . arena . add_node (
995- AstNode :: Expression ( Expression :: Literal ( Literal :: Bool ( node. clone ( ) ) , None ) ) ,
986+ AstNode :: Expression ( Expression :: Literal ( Literal :: Bool ( node. clone ( ) ) ) ) ,
996987 parent_id,
997988 ) ;
998989 node
@@ -1009,7 +1000,7 @@ impl<'a> Builder<'a, InitState> {
10091000 let value = node. utf8_text ( code) . unwrap ( ) . to_string ( ) ;
10101001 let node = Rc :: new ( StringLiteral :: new ( id, location, value) ) ;
10111002 self . arena . add_node (
1012- AstNode :: Expression ( Expression :: Literal ( Literal :: String ( node. clone ( ) ) , None ) ) ,
1003+ AstNode :: Expression ( Expression :: Literal ( Literal :: String ( node. clone ( ) ) ) ) ,
10131004 parent_id,
10141005 ) ;
10151006 node
@@ -1026,7 +1017,7 @@ impl<'a> Builder<'a, InitState> {
10261017 let value = node. utf8_text ( code) . unwrap ( ) . to_string ( ) ;
10271018 let node = Rc :: new ( NumberLiteral :: new ( id, location, value) ) ;
10281019 self . arena . add_node (
1029- AstNode :: Expression ( Expression :: Literal ( Literal :: Number ( node. clone ( ) ) , None ) ) ,
1020+ AstNode :: Expression ( Expression :: Literal ( Literal :: Number ( node. clone ( ) ) ) ) ,
10301021 parent_id,
10311022 ) ;
10321023 node
@@ -1037,7 +1028,7 @@ impl<'a> Builder<'a, InitState> {
10371028 let location = Self :: get_location ( node, code) ;
10381029 let node = Rc :: new ( UnitLiteral :: new ( id, location) ) ;
10391030 self . arena . add_node (
1040- AstNode :: Expression ( Expression :: Literal ( Literal :: Unit ( node. clone ( ) ) , None ) ) ,
1031+ AstNode :: Expression ( Expression :: Literal ( Literal :: Unit ( node. clone ( ) ) ) ) ,
10411032 parent_id,
10421033 ) ;
10431034 node
@@ -1083,7 +1074,7 @@ impl<'a> Builder<'a, InitState> {
10831074
10841075 let node = Rc :: new ( TypeArray :: new ( id, location, element_type, size) ) ;
10851076 self . arena . add_node (
1086- AstNode :: Expression ( Expression :: Type ( Type :: Array ( node. clone ( ) ) , None ) ) ,
1077+ AstNode :: Expression ( Expression :: Type ( Type :: Array ( node. clone ( ) ) ) ) ,
10871078 parent_id,
10881079 ) ;
10891080 node
@@ -1096,7 +1087,7 @@ impl<'a> Builder<'a, InitState> {
10961087 self . types . push ( SymbolType :: Global ( name. clone ( ) ) ) ;
10971088 let node = Rc :: new ( SimpleType :: new ( id, location, name) ) ;
10981089 self . arena . add_node (
1099- AstNode :: Expression ( Expression :: Type ( Type :: Simple ( node. clone ( ) ) , None ) ) ,
1090+ AstNode :: Expression ( Expression :: Type ( Type :: Simple ( node. clone ( ) ) ) ) ,
11001091 parent_id,
11011092 ) ;
11021093 node
@@ -1118,7 +1109,7 @@ impl<'a> Builder<'a, InitState> {
11181109
11191110 let node = Rc :: new ( GenericType :: new ( id, location, base, parameters) ) ;
11201111 self . arena . add_node (
1121- AstNode :: Expression ( Expression :: Type ( Type :: Generic ( node. clone ( ) ) , None ) ) ,
1112+ AstNode :: Expression ( Expression :: Type ( Type :: Generic ( node. clone ( ) ) ) ) ,
11221113 parent_id,
11231114 ) ;
11241115 node
@@ -1148,7 +1139,7 @@ impl<'a> Builder<'a, InitState> {
11481139 }
11491140 let node = Rc :: new ( FunctionType :: new ( id, location, arguments, returns) ) ;
11501141 self . arena . add_node (
1151- AstNode :: Expression ( Expression :: Type ( Type :: Function ( node. clone ( ) ) , None ) ) ,
1142+ AstNode :: Expression ( Expression :: Type ( Type :: Function ( node. clone ( ) ) ) ) ,
11521143 parent_id,
11531144 ) ;
11541145 node
@@ -1167,7 +1158,7 @@ impl<'a> Builder<'a, InitState> {
11671158
11681159 let node = Rc :: new ( TypeQualifiedName :: new ( id, location, alias, name) ) ;
11691160 self . arena . add_node (
1170- AstNode :: Expression ( Expression :: Type ( Type :: Qualified ( node. clone ( ) ) , None ) ) ,
1161+ AstNode :: Expression ( Expression :: Type ( Type :: Qualified ( node. clone ( ) ) ) ) ,
11711162 parent_id,
11721163 ) ;
11731164 node
@@ -1187,7 +1178,7 @@ impl<'a> Builder<'a, InitState> {
11871178
11881179 let node = Rc :: new ( QualifiedName :: new ( id, location, qualifier, name) ) ;
11891180 self . arena . add_node (
1190- AstNode :: Expression ( Expression :: Type ( Type :: QualifiedName ( node. clone ( ) ) , None ) ) ,
1181+ AstNode :: Expression ( Expression :: Type ( Type :: QualifiedName ( node. clone ( ) ) ) ) ,
11911182 parent_id,
11921183 ) ;
11931184 node
@@ -1203,7 +1194,7 @@ impl<'a> Builder<'a, InitState> {
12031194 let location = Self :: get_location ( node, code) ;
12041195 let node = Rc :: new ( UzumakiExpression :: new ( id, location) ) ;
12051196 self . arena . add_node (
1206- AstNode :: Expression ( Expression :: Uzumaki ( node. clone ( ) , None ) ) ,
1197+ AstNode :: Expression ( Expression :: Uzumaki ( node. clone ( ) ) ) ,
12071198 parent_id,
12081199 ) ;
12091200 node
@@ -1215,7 +1206,7 @@ impl<'a> Builder<'a, InitState> {
12151206 let name = node. utf8_text ( code) . unwrap ( ) . to_string ( ) ;
12161207 let node = Rc :: new ( Identifier :: new ( id, name, location) ) ;
12171208 self . arena . add_node (
1218- AstNode :: Expression ( Expression :: Identifier ( node. clone ( ) , None ) ) ,
1209+ AstNode :: Expression ( Expression :: Identifier ( node. clone ( ) ) ) ,
12191210 parent_id,
12201211 ) ;
12211212 node
0 commit comments