@@ -42,11 +42,9 @@ using namespace ide;
42
42
// typeCheckContextAt(DeclContext, SourceLoc)
43
43
// ===----------------------------------------------------------------------===//
44
44
45
- namespace {
46
- void typeCheckContextImpl (DeclContext *DC, SourceLoc Loc) {
47
- // Nothing to type check in module context.
48
- if (DC->isModuleScopeContext ())
49
- return ;
45
+ void swift::ide::typeCheckContextAt (DeclContext *DC, SourceLoc Loc) {
46
+ while (isa<AbstractClosureExpr>(DC))
47
+ DC = DC->getParent ();
50
48
51
49
// Make sure the extension has been bound, in case it is in an inactive #if
52
50
// or something weird like that.
@@ -67,6 +65,7 @@ void typeCheckContextImpl(DeclContext *DC, SourceLoc Loc) {
67
65
switch (DC->getContextKind ()) {
68
66
case DeclContextKind::AbstractClosureExpr:
69
67
case DeclContextKind::Module:
68
+ case DeclContextKind::FileUnit:
70
69
case DeclContextKind::SerializedLocal:
71
70
case DeclContextKind::EnumElementDecl:
72
71
case DeclContextKind::GenericTypeDecl:
@@ -105,19 +104,8 @@ void typeCheckContextImpl(DeclContext *DC, SourceLoc Loc) {
105
104
}
106
105
break ;
107
106
}
108
-
109
- case DeclContextKind::FileUnit:
110
- llvm_unreachable (" module scope context handled above" );
111
107
}
112
108
}
113
- } // anonymous namespace
114
-
115
- void swift::ide::typeCheckContextAt (DeclContext *DC, SourceLoc Loc) {
116
- while (isa<AbstractClosureExpr>(DC))
117
- DC = DC->getParent ();
118
-
119
- typeCheckContextImpl (DC, Loc);
120
- }
121
109
122
110
// ===----------------------------------------------------------------------===//
123
111
// findParsedExpr(DeclContext, Expr)
0 commit comments