@@ -28,14 +28,12 @@ using namespace swift;
28
28
TypeRefinementContext::TypeRefinementContext (ASTContext &Ctx, IntroNode Node,
29
29
TypeRefinementContext *Parent,
30
30
SourceRange SrcRange,
31
- const AvailabilityContext &Info,
32
- const AvailabilityContext &InfoExplicit)
33
- : Node(Node), SrcRange(SrcRange), AvailabilityInfo(Info),
34
- AvailabilityInfoExplicit(InfoExplicit) {
31
+ const AvailabilityContext &Info)
32
+ : Node(Node), SrcRange(SrcRange), AvailabilityInfo(Info) {
35
33
if (Parent) {
36
34
assert (SrcRange.isValid ());
37
35
Parent->addChild (this );
38
- assert (InfoExplicit .isContainedIn (Parent->getAvailabilityInfoExplicit ()));
36
+ assert (Info .isContainedIn (Parent->getAvailabilityInfo ()));
39
37
}
40
38
Ctx.addDestructorCleanup (Children);
41
39
}
@@ -48,20 +46,18 @@ TypeRefinementContext::createRoot(SourceFile *SF,
48
46
ASTContext &Ctx = SF->getASTContext ();
49
47
return new (Ctx)
50
48
TypeRefinementContext (Ctx, SF,
51
- /* Parent=*/ nullptr , SourceRange (), Info,
52
- AvailabilityContext::alwaysAvailable ());
49
+ /* Parent=*/ nullptr , SourceRange (), Info);
53
50
}
54
51
55
52
TypeRefinementContext *
56
53
TypeRefinementContext::createForDecl (ASTContext &Ctx, Decl *D,
57
54
TypeRefinementContext *Parent,
58
55
const AvailabilityContext &Info,
59
- const AvailabilityContext &InfoExplicit,
60
56
SourceRange SrcRange) {
61
57
assert (D);
62
58
assert (Parent);
63
59
return new (Ctx)
64
- TypeRefinementContext (Ctx, D, Parent, SrcRange, Info, InfoExplicit );
60
+ TypeRefinementContext (Ctx, D, Parent, SrcRange, Info);
65
61
}
66
62
67
63
TypeRefinementContext *
@@ -72,7 +68,7 @@ TypeRefinementContext::createForIfStmtThen(ASTContext &Ctx, IfStmt *S,
72
68
assert (Parent);
73
69
return new (Ctx)
74
70
TypeRefinementContext (Ctx, IntroNode (S, /* IsThen=*/ true ), Parent,
75
- S->getThenStmt ()->getSourceRange (), Info, Info );
71
+ S->getThenStmt ()->getSourceRange (), Info);
76
72
}
77
73
78
74
TypeRefinementContext *
@@ -83,7 +79,7 @@ TypeRefinementContext::createForIfStmtElse(ASTContext &Ctx, IfStmt *S,
83
79
assert (Parent);
84
80
return new (Ctx)
85
81
TypeRefinementContext (Ctx, IntroNode (S, /* IsThen=*/ false ), Parent,
86
- S->getElseStmt ()->getSourceRange (), Info, Info );
82
+ S->getElseStmt ()->getSourceRange (), Info);
87
83
}
88
84
89
85
TypeRefinementContext *
@@ -96,7 +92,7 @@ TypeRefinementContext::createForConditionFollowingQuery(ASTContext &Ctx,
96
92
assert (Parent);
97
93
SourceRange Range (PAI->getEndLoc (), LastElement.getEndLoc ());
98
94
return new (Ctx) TypeRefinementContext (Ctx, PAI, Parent, Range,
99
- Info, Info );
95
+ Info);
100
96
}
101
97
102
98
TypeRefinementContext *
@@ -111,7 +107,7 @@ TypeRefinementContext::createForGuardStmtFallthrough(ASTContext &Ctx,
111
107
SourceRange Range (RS->getEndLoc (), ContainingBraceStmt->getEndLoc ());
112
108
return new (Ctx) TypeRefinementContext (Ctx,
113
109
IntroNode (RS, /* IsFallthrough=*/ true ),
114
- Parent, Range, Info, Info );
110
+ Parent, Range, Info);
115
111
}
116
112
117
113
TypeRefinementContext *
@@ -122,7 +118,7 @@ TypeRefinementContext::createForGuardStmtElse(ASTContext &Ctx, GuardStmt *RS,
122
118
assert (Parent);
123
119
return new (Ctx)
124
120
TypeRefinementContext (Ctx, IntroNode (RS, /* IsFallthrough=*/ false ), Parent,
125
- RS->getBody ()->getSourceRange (), Info, Info );
121
+ RS->getBody ()->getSourceRange (), Info);
126
122
}
127
123
128
124
TypeRefinementContext *
@@ -132,7 +128,7 @@ TypeRefinementContext::createForWhileStmtBody(ASTContext &Ctx, WhileStmt *S,
132
128
assert (S);
133
129
assert (Parent);
134
130
return new (Ctx) TypeRefinementContext (
135
- Ctx, S, Parent, S->getBody ()->getSourceRange (), Info, Info );
131
+ Ctx, S, Parent, S->getBody ()->getSourceRange (), Info);
136
132
}
137
133
138
134
// Only allow allocation of TypeRefinementContext using the allocator in
@@ -300,7 +296,6 @@ void TypeRefinementContext::print(raw_ostream &OS, SourceManager &SrcMgr,
300
296
OS << " (" << getReasonName (getReason ());
301
297
302
298
OS << " versions=" << AvailabilityInfo.getOSVersion ().getAsString ();
303
- OS << " explicit=" << AvailabilityInfoExplicit.getOSVersion ().getAsString ();
304
299
305
300
if (getReason () == Reason::Decl) {
306
301
Decl *D = Node.getAsDecl ();
0 commit comments