From 54979c198c2519611d8491afd8fd41b8a588da05 Mon Sep 17 00:00:00 2001 From: Henry Chu Date: Tue, 20 May 2025 12:36:43 +0800 Subject: [PATCH] Add nullptr checking for rename logging --- libsolidity/lsp/RenameSymbol.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libsolidity/lsp/RenameSymbol.cpp b/libsolidity/lsp/RenameSymbol.cpp index 497ee50fb451..b832029e45cc 100644 --- a/libsolidity/lsp/RenameSymbol.cpp +++ b/libsolidity/lsp/RenameSymbol.cpp @@ -65,7 +65,8 @@ void RenameSymbol::operator()(MessageID _id, Json const& _args) .translateLineColumnToPosition(lineColumn); solAssert(cursorBytePosition.has_value(), "Expected source pos"); - extractNameAndDeclaration(*sourceNode, *cursorBytePosition); + if (sourceNode != nullptr) + extractNameAndDeclaration(*sourceNode, *cursorBytePosition); // Find all source units using this symbol for (auto const& [name, content]: fileRepository().sourceUnits()) @@ -156,7 +157,8 @@ void RenameSymbol::extractNameAndDeclaration(ASTNode const& _node, int _cursorBy else solAssert(false, "Unexpected ASTNODE id: " + std::to_string(_node.id())); - lspDebug(fmt::format("Goal: rename '{}', loc: {}-{}", m_symbolName, m_declarationToRename->nameLocation().start, m_declarationToRename->nameLocation().end)); + if (m_declarationToRename != nullptr) + lspDebug(fmt::format("Goal: rename '{}', loc: {}-{}", m_symbolName, m_declarationToRename->nameLocation().start, m_declarationToRename->nameLocation().end)); } void RenameSymbol::extractNameAndDeclaration(ImportDirective const& _importDirective, int _cursorBytePosition)