ソースを参照

LibCpp: Set end position for the return type node of FunctionType nodes

Previously we didn't set the end position for the return type node of
function FunctionType nodes.

This caused a VERIFY failure crash when dumping an AST that contains
such nodes.
Itamar 3 年 前
コミット
abc420b15a
1 ファイル変更1 行追加0 行削除
  1. 1 0
      Userland/Libraries/LibCpp/Parser.cpp

+ 1 - 0
Userland/Libraries/LibCpp/Parser.cpp

@@ -1260,6 +1260,7 @@ NonnullRefPtr<Type> Parser::parse_type(ASTNode& parent)
     }
     }
 
 
     if (peek().type() == Token::Type::LeftParen) {
     if (peek().type() == Token::Type::LeftParen) {
+        type->set_end(previous_token_end());
         consume();
         consume();
         auto fn_type = create_ast_node<FunctionType>(parent, type->start(), position());
         auto fn_type = create_ast_node<FunctionType>(parent, type->start(), position());
         fn_type->set_return_type(*type);
         fn_type->set_return_type(*type);