From 4b2b504bba98f6716dd90ac299b14015442dcedd Mon Sep 17 00:00:00 2001 From: Jinbo Wang Date: Wed, 6 Mar 2024 10:05:23 +0800 Subject: [PATCH] Add null check for 'fCollapsedTypes' variable to avoid NPE when invoking completion in DEBUG CONSOLE (#3086) --- .../contentassist/CompletionProposalDescriptionProvider.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/contentassist/CompletionProposalDescriptionProvider.java b/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/contentassist/CompletionProposalDescriptionProvider.java index 32a2e4cc3c..b293e68d01 100644 --- a/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/contentassist/CompletionProposalDescriptionProvider.java +++ b/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/contentassist/CompletionProposalDescriptionProvider.java @@ -331,7 +331,7 @@ private void createMethodProposalLabel(CompletionProposal methodProposal, Comple String proposalName = String.valueOf(methodProposal.getName()); boolean skipDetail = false; if (isCompletionItemLabelDetailsSupport()){ - if (fCollapsedTypes.getOrDefault(proposalName, 0) > 1 && methodProposal.getKind() != CompletionProposal.CONSTRUCTOR_INVOCATION) { + if (fCollapsedTypes != null && fCollapsedTypes.getOrDefault(proposalName, 0) > 1 && methodProposal.getKind() != CompletionProposal.CONSTRUCTOR_INVOCATION) { setLabelDetails(item, proposalName, "(...)", fCollapsedTypes.get(proposalName).toString() + " overloads"); skipDetail = true; } else { @@ -348,7 +348,7 @@ private void createMethodProposalLabel(CompletionProposal methodProposal, Comple } } } else { - if (fCollapsedTypes.getOrDefault(proposalName, 0) > 1 && methodProposal.getKind() != CompletionProposal.CONSTRUCTOR_INVOCATION) { + if (fCollapsedTypes != null && fCollapsedTypes.getOrDefault(proposalName, 0) > 1 && methodProposal.getKind() != CompletionProposal.CONSTRUCTOR_INVOCATION) { item.setLabel(proposalName + "(...)"); item.setDetail(fCollapsedTypes.get(proposalName).toString() + " overloads"); skipDetail = true;