fix missing double reference
This commit is contained in:
		
							parent
							
								
									aae82d29bd
								
							
						
					
					
						commit
						3f92120fbe
					
				
							
								
								
									
										22
									
								
								src/ast.zig
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								src/ast.zig
									
									
									
									
									
								
							@ -524,7 +524,7 @@ pub fn lastToken(tree: Ast, node: Ast.Node.Index) Ast.TokenIndex {
 | 
			
		||||
        .struct_init,
 | 
			
		||||
        => {
 | 
			
		||||
            const elements = tree.extraData(datas[n].rhs, Node.SubRange);
 | 
			
		||||
            std.debug.std.debug.assert(elements.end - elements.start > 0);
 | 
			
		||||
            std.debug.assert(elements.end - elements.start > 0);
 | 
			
		||||
            end_offset += 1; // for the rbrace
 | 
			
		||||
            n = tree.extra_data[elements.end - 1]; // last element
 | 
			
		||||
        },
 | 
			
		||||
@ -534,7 +534,7 @@ pub fn lastToken(tree: Ast, node: Ast.Node.Index) Ast.TokenIndex {
 | 
			
		||||
        .switch_comma,
 | 
			
		||||
        => {
 | 
			
		||||
            const members = tree.extraData(datas[n].rhs, Node.SubRange);
 | 
			
		||||
            std.debug.std.debug.assert(members.end - members.start > 0);
 | 
			
		||||
            std.debug.assert(members.end - members.start > 0);
 | 
			
		||||
            end_offset += 2; // for the comma + rbrace
 | 
			
		||||
            n = tree.extra_data[members.end - 1]; // last parameter
 | 
			
		||||
        },
 | 
			
		||||
@ -545,7 +545,7 @@ pub fn lastToken(tree: Ast, node: Ast.Node.Index) Ast.TokenIndex {
 | 
			
		||||
        .tagged_union,
 | 
			
		||||
        .builtin_call,
 | 
			
		||||
        => {
 | 
			
		||||
            std.debug.std.debug.assert(datas[n].rhs - datas[n].lhs > 0);
 | 
			
		||||
            std.debug.assert(datas[n].rhs - datas[n].lhs > 0);
 | 
			
		||||
            end_offset += 1; // for the rbrace
 | 
			
		||||
            n = tree.extra_data[datas[n].rhs - 1]; // last statement
 | 
			
		||||
        },
 | 
			
		||||
@ -556,7 +556,7 @@ pub fn lastToken(tree: Ast, node: Ast.Node.Index) Ast.TokenIndex {
 | 
			
		||||
        .tagged_union_trailing,
 | 
			
		||||
        .builtin_call_comma,
 | 
			
		||||
        => {
 | 
			
		||||
            std.debug.std.debug.assert(datas[n].rhs - datas[n].lhs > 0);
 | 
			
		||||
            std.debug.assert(datas[n].rhs - datas[n].lhs > 0);
 | 
			
		||||
            end_offset += 2; // for the comma/semicolon + rbrace/rparen
 | 
			
		||||
            n = tree.extra_data[datas[n].rhs - 1]; // last member
 | 
			
		||||
        },
 | 
			
		||||
@ -672,11 +672,11 @@ pub fn lastToken(tree: Ast, node: Ast.Node.Index) Ast.TokenIndex {
 | 
			
		||||
        => {
 | 
			
		||||
            end_offset += 2; // ellipsis2 + rbracket, or comma + rparen
 | 
			
		||||
            n = datas[n].rhs;
 | 
			
		||||
            std.debug.std.debug.assert(n != 0);
 | 
			
		||||
            std.debug.assert(n != 0);
 | 
			
		||||
        },
 | 
			
		||||
        .slice => {
 | 
			
		||||
            const extra = tree.extraData(datas[n].rhs, Node.Slice);
 | 
			
		||||
            std.debug.std.debug.assert(extra.end != 0); // should have used slice_open
 | 
			
		||||
            std.debug.assert(extra.end != 0); // should have used slice_open
 | 
			
		||||
            end_offset += 1; // rbracket
 | 
			
		||||
            n = extra.end;
 | 
			
		||||
        },
 | 
			
		||||
@ -782,7 +782,7 @@ pub fn lastToken(tree: Ast, node: Ast.Node.Index) Ast.TokenIndex {
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (max_node == 0) {
 | 
			
		||||
                std.debug.std.debug.assert(max_offset == 0);
 | 
			
		||||
                std.debug.assert(max_offset == 0);
 | 
			
		||||
                // No linksection, callconv, align, return type
 | 
			
		||||
                if (extra.param != 0) {
 | 
			
		||||
                    n = extra.param;
 | 
			
		||||
@ -834,7 +834,7 @@ pub fn lastToken(tree: Ast, node: Ast.Node.Index) Ast.TokenIndex {
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            if (max_node == 0) {
 | 
			
		||||
                std.debug.std.debug.assert(max_offset == 0);
 | 
			
		||||
                std.debug.assert(max_offset == 0);
 | 
			
		||||
                // No linksection, callconv, align, return type
 | 
			
		||||
                // Use the last parameter and skip one extra token for the right paren
 | 
			
		||||
                n = extra.params_end;
 | 
			
		||||
@ -846,17 +846,17 @@ pub fn lastToken(tree: Ast, node: Ast.Node.Index) Ast.TokenIndex {
 | 
			
		||||
        },
 | 
			
		||||
        .while_cont => {
 | 
			
		||||
            const extra = tree.extraData(datas[n].rhs, Node.WhileCont);
 | 
			
		||||
            std.debug.std.debug.assert(extra.then_expr != 0);
 | 
			
		||||
            std.debug.assert(extra.then_expr != 0);
 | 
			
		||||
            n = extra.then_expr;
 | 
			
		||||
        },
 | 
			
		||||
        .@"while" => {
 | 
			
		||||
            const extra = tree.extraData(datas[n].rhs, Node.While);
 | 
			
		||||
            std.debug.std.debug.assert(extra.else_expr != 0);
 | 
			
		||||
            std.debug.assert(extra.else_expr != 0);
 | 
			
		||||
            n = extra.else_expr;
 | 
			
		||||
        },
 | 
			
		||||
        .@"if", .@"for" => {
 | 
			
		||||
            const extra = tree.extraData(datas[n].rhs, Node.If);
 | 
			
		||||
            std.debug.std.debug.assert(extra.else_expr != 0);
 | 
			
		||||
            std.debug.assert(extra.else_expr != 0);
 | 
			
		||||
            n = extra.else_expr;
 | 
			
		||||
        },
 | 
			
		||||
        .@"suspend" => {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user