Skip to content

Commit 959e5bb

Browse files
authored
Merge pull request #63666 from bnbarham/fix-new-assert
Fix a couple references to nullptr
2 parents d4572ca + fd4f51a commit 959e5bb

File tree

2 files changed

+33
-32
lines changed

2 files changed

+33
-32
lines changed

lib/FrontendTool/FrontendTool.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1269,11 +1269,10 @@ static bool performAction(CompilerInstance &Instance,
12691269
int &ReturnValue,
12701270
FrontendObserver *observer) {
12711271
const auto &opts = Instance.getInvocation().getFrontendOptions();
1272-
auto &Context = Instance.getASTContext();
12731272
switch (Instance.getInvocation().getFrontendOptions().RequestedAction) {
12741273
// MARK: Trivial Actions
12751274
case FrontendOptions::ActionType::NoneAction:
1276-
return Context.hadError();
1275+
return Instance.getASTContext().hadError();
12771276
case FrontendOptions::ActionType::PrintVersion:
12781277
return printSwiftVersion(Instance.getInvocation());
12791278
case FrontendOptions::ActionType::PrintFeature:
@@ -1332,7 +1331,7 @@ static bool performAction(CompilerInstance &Instance,
13321331
}, /*runDespiteErrors=*/true);
13331332
case FrontendOptions::ActionType::DumpInterfaceHash:
13341333
getPrimaryOrMainSourceFile(Instance).dumpInterfaceHash(llvm::errs());
1335-
return Context.hadError();
1334+
return Instance.getASTContext().hadError();
13361335
case FrontendOptions::ActionType::EmitImportedModules:
13371336
return emitImportedModules(Instance.getMainModule(), opts);
13381337

@@ -1372,7 +1371,7 @@ static bool performAction(CompilerInstance &Instance,
13721371
}
13731372

13741373
assert(false && "Unhandled case in performCompile!");
1375-
return Context.hadError();
1374+
return Instance.getASTContext().hadError();
13761375
}
13771376

13781377
/// Performs the compile requested by the user.

tools/swift-ide-test/swift-ide-test.cpp

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,7 +1091,7 @@ doConformingMethodList(const CompilerInvocation &InitInvok,
10911091
static void printCodeCompletionResultsImpl(
10921092
ArrayRef<CodeCompletionResult *> Results, llvm::raw_ostream &OS,
10931093
bool IncludeKeywords, bool IncludeComments, bool IncludeSourceText,
1094-
bool PrintAnnotatedDescription, const ASTContext &Ctx) {
1094+
bool PrintAnnotatedDescription, const ASTContext *Ctx) {
10951095
unsigned NumResults = 0;
10961096
for (auto Result : Results) {
10971097
if (!IncludeKeywords &&
@@ -1134,30 +1134,33 @@ static void printCodeCompletionResultsImpl(
11341134
OS << "; comment=" << comment;
11351135
}
11361136

1137-
SmallString<256> Scratch;
1138-
auto DiagSeverityAndMessage =
1139-
Result->getDiagnosticSeverityAndMessage(Scratch, Ctx);
1140-
if (DiagSeverityAndMessage.first !=
1141-
CodeCompletionDiagnosticSeverity::None) {
1142-
OS << "; diagnostics=" << comment;
1143-
switch (DiagSeverityAndMessage.first) {
1144-
case CodeCompletionDiagnosticSeverity::Error:
1145-
OS << "error";
1146-
break;
1147-
case CodeCompletionDiagnosticSeverity::Warning:
1148-
OS << "warning";
1149-
break;
1150-
case CodeCompletionDiagnosticSeverity::Remark:
1151-
OS << "remark";
1152-
break;
1153-
case CodeCompletionDiagnosticSeverity::Note:
1154-
OS << "note";
1155-
break;
1156-
case CodeCompletionDiagnosticSeverity::None:
1157-
llvm_unreachable("none");
1158-
}
1137+
if (Ctx) {
1138+
// Only print diagnostics if we have an ASTContext
11591139
SmallString<256> Scratch;
1160-
OS << ":" << DiagSeverityAndMessage.second;
1140+
auto DiagSeverityAndMessage =
1141+
Result->getDiagnosticSeverityAndMessage(Scratch, *Ctx);
1142+
if (DiagSeverityAndMessage.first !=
1143+
CodeCompletionDiagnosticSeverity::None) {
1144+
OS << "; diagnostics=" << comment;
1145+
switch (DiagSeverityAndMessage.first) {
1146+
case CodeCompletionDiagnosticSeverity::Error:
1147+
OS << "error";
1148+
break;
1149+
case CodeCompletionDiagnosticSeverity::Warning:
1150+
OS << "warning";
1151+
break;
1152+
case CodeCompletionDiagnosticSeverity::Remark:
1153+
OS << "remark";
1154+
break;
1155+
case CodeCompletionDiagnosticSeverity::Note:
1156+
OS << "note";
1157+
break;
1158+
case CodeCompletionDiagnosticSeverity::None:
1159+
llvm_unreachable("none");
1160+
}
1161+
SmallString<256> Scratch;
1162+
OS << ":" << DiagSeverityAndMessage.second;
1163+
}
11611164
}
11621165

11631166
OS << "\n";
@@ -1188,7 +1191,7 @@ static int printCodeCompletionResults(
11881191
printCodeCompletionResultsImpl(
11891192
Result.ResultSink.Results, OS, IncludeKeywords, IncludeComments,
11901193
IncludeSourceText, PrintAnnotatedDescription,
1191-
Result.Info.compilerInstance->getASTContext());
1194+
&Result.Info.compilerInstance->getASTContext());
11921195
printCodeCompletionLookedupTypeNames(
11931196
Result.Info.completionContext->LookedupNominalTypeNames, OS);
11941197
return 0;
@@ -1570,7 +1573,7 @@ static int doBatchCodeCompletion(const CompilerInvocation &InitInvok,
15701573
Result->ResultSink.Results, OS, IncludeKeywords,
15711574
IncludeComments, IncludeSourceText,
15721575
CodeCompletionAnnotateResults,
1573-
Result->Info.compilerInstance->getASTContext());
1576+
&Result->Info.compilerInstance->getASTContext());
15741577
printCodeCompletionLookedupTypeNames(
15751578
Result->Info.completionContext->LookedupNominalTypeNames, OS);
15761579
break;
@@ -4249,12 +4252,11 @@ int main(int argc, char *argv[]) {
42494252
ContextualNotRecommendedReason::None);
42504253
contextualResults.push_back(contextualResult);
42514254
}
4252-
auto CompInstance = std::make_unique<CompilerInstance>();
42534255
printCodeCompletionResultsImpl(
42544256
contextualResults, llvm::outs(), options::CodeCompletionKeywords,
42554257
options::CodeCompletionComments, options::CodeCompletionSourceText,
42564258
options::CodeCompletionAnnotateResults,
4257-
CompInstance->getASTContext());
4259+
/*Ctx=*/nullptr);
42584260
}
42594261

42604262
return 0;

0 commit comments

Comments
 (0)