Skip to content

Commit 092edd6

Browse files
committed
[ast] Rename VarPattern -> BindingPattern.
VarPattern is today used to implement both 'let' and 'var' pattern bindings, so today is already misleading. The reason why the name Var was chosen was done b/c it is meant to represent a pattern that performs 'variable binding'. Given that I am going to add a new 'inout' pattern binding to this, it makes sense to give it now a better fitting name before I make things more confusing.
1 parent a907a15 commit 092edd6

29 files changed

+93
-93
lines changed

include/swift/AST/Pattern.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class alignas(8) Pattern {
7373
Value : 1
7474
);
7575

76-
SWIFT_INLINE_BITFIELD(VarPattern, Pattern, 1,
76+
SWIFT_INLINE_BITFIELD(BindingPattern, Pattern, 1,
7777
/// True if this is a let pattern, false if a var pattern.
7878
IsLet : 1
7979
);
@@ -113,7 +113,7 @@ class alignas(8) Pattern {
113113
/// Find the smallest subpattern which obeys the property that matching it is
114114
/// equivalent to matching this pattern.
115115
///
116-
/// Looks through ParenPattern, VarPattern, and TypedPattern.
116+
/// Looks through ParenPattern, BindingPattern, and TypedPattern.
117117
Pattern *getSemanticsProvidingPattern();
118118
const Pattern *getSemanticsProvidingPattern() const {
119119
return const_cast<Pattern*>(this)->getSemanticsProvidingPattern();
@@ -692,22 +692,23 @@ class ExprPattern : public Pattern {
692692
/// semantics of its own, but has a syntactic effect on the subpattern. Bare
693693
/// identifiers in the subpattern create new variable bindings instead of being
694694
/// parsed as expressions referencing existing entities.
695-
class VarPattern : public Pattern {
695+
class BindingPattern : public Pattern {
696696
SourceLoc VarLoc;
697697
Pattern *SubPattern;
698698
public:
699-
VarPattern(SourceLoc loc, bool isLet, Pattern *sub)
700-
: Pattern(PatternKind::Var), VarLoc(loc), SubPattern(sub) {
701-
Bits.VarPattern.IsLet = isLet;
699+
BindingPattern(SourceLoc loc, bool isLet, Pattern *sub)
700+
: Pattern(PatternKind::Binding), VarLoc(loc), SubPattern(sub) {
701+
Bits.BindingPattern.IsLet = isLet;
702702
}
703703

704-
static VarPattern *createImplicit(ASTContext &Ctx, bool isLet, Pattern *sub) {
705-
auto *VP = new (Ctx) VarPattern(SourceLoc(), isLet, sub);
704+
static BindingPattern *createImplicit(ASTContext &Ctx, bool isLet,
705+
Pattern *sub) {
706+
auto *VP = new (Ctx) BindingPattern(SourceLoc(), isLet, sub);
706707
VP->setImplicit();
707708
return VP;
708709
}
709710

710-
bool isLet() const { return Bits.VarPattern.IsLet; }
711+
bool isLet() const { return Bits.BindingPattern.IsLet; }
711712

712713
SourceLoc getLoc() const { return VarLoc; }
713714
SourceRange getSourceRange() const {
@@ -722,17 +723,16 @@ class VarPattern : public Pattern {
722723
void setSubPattern(Pattern *p) { SubPattern = p; }
723724

724725
static bool classof(const Pattern *P) {
725-
return P->getKind() == PatternKind::Var;
726+
return P->getKind() == PatternKind::Binding;
726727
}
727728
};
728729

729-
730730
inline Pattern *Pattern::getSemanticsProvidingPattern() {
731731
if (auto *pp = dyn_cast<ParenPattern>(this))
732732
return pp->getSubPattern()->getSemanticsProvidingPattern();
733733
if (auto *tp = dyn_cast<TypedPattern>(this))
734734
return tp->getSubPattern()->getSemanticsProvidingPattern();
735-
if (auto *vp = dyn_cast<VarPattern>(this))
735+
if (auto *vp = dyn_cast<BindingPattern>(this))
736736
return vp->getSubPattern()->getSemanticsProvidingPattern();
737737
return this;
738738
}

include/swift/AST/PatternNodes.def

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@
3232
#define LAST_PATTERN(Id)
3333
#endif
3434

35-
// Metavars: x (variable), pat (pattern), e (expression)
36-
PATTERN(Paren, Pattern) // (pat)
37-
PATTERN(Tuple, Pattern) // (pat1, ..., patN), N >= 1
38-
PATTERN(Named, Pattern) // let pat, var pat
39-
PATTERN(Any, Pattern) // _
40-
PATTERN(Typed, Pattern) // pat : type
41-
PATTERN(Var, Pattern) // x
35+
// Metavars: x (variable binding), pat (pattern), e (expression)
36+
PATTERN(Paren, Pattern) // (pat)
37+
PATTERN(Tuple, Pattern) // (pat1, ..., patN), N >= 1
38+
PATTERN(Named, Pattern) // let pat, var pat
39+
PATTERN(Any, Pattern) // _
40+
PATTERN(Typed, Pattern) // pat : type
41+
PATTERN(Binding, Pattern) // x
4242
REFUTABLE_PATTERN(Is, Pattern) // x is myclass
4343
REFUTABLE_PATTERN(EnumElement, Pattern) // .mycase(pat1, ..., patN)
4444
// MyType.mycase(pat1, ..., patN)

lib/AST/ASTDumper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,7 @@ namespace {
507507
printRec(P->getSubExpr());
508508
PrintWithColorRAII(OS, ParenthesisColor) << ')';
509509
}
510-
void visitVarPattern(VarPattern *P) {
510+
void visitBindingPattern(BindingPattern *P) {
511511
printCommon(P, P->isLet() ? "pattern_let" : "pattern_var");
512512
OS << '\n';
513513
printRec(P->getSubPattern());

lib/AST/ASTMangler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1834,7 +1834,7 @@ namespace {
18341834
VarDecl *visitParenPattern(ParenPattern *P) {
18351835
return visit(P->getSubPattern());
18361836
}
1837-
VarDecl *visitVarPattern(VarPattern *P) {
1837+
VarDecl *visitBindingPattern(BindingPattern *P) {
18381838
return visit(P->getSubPattern());
18391839
}
18401840
VarDecl *visitTypedPattern(TypedPattern *P) {

lib/AST/ASTPrinter.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1192,12 +1192,12 @@ void PrintAST::printPattern(const Pattern *pattern) {
11921192
// FIXME: Print expr.
11931193
break;
11941194

1195-
case PatternKind::Var:
1195+
case PatternKind::Binding:
11961196
if (!Options.SkipIntroducerKeywords)
1197-
Printer << (cast<VarPattern>(pattern)->isLet() ? tok::kw_let
1198-
: tok::kw_var)
1197+
Printer << (cast<BindingPattern>(pattern)->isLet() ? tok::kw_let
1198+
: tok::kw_var)
11991199
<< " ";
1200-
printPattern(cast<VarPattern>(pattern)->getSubPattern());
1200+
printPattern(cast<BindingPattern>(pattern)->getSubPattern());
12011201
}
12021202
}
12031203

lib/AST/ASTWalker.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1738,7 +1738,7 @@ Pattern *Traversal::visitExprPattern(ExprPattern *P) {
17381738
return nullptr;
17391739
}
17401740

1741-
Pattern *Traversal::visitVarPattern(VarPattern *P) {
1741+
Pattern *Traversal::visitBindingPattern(BindingPattern *P) {
17421742
if (Pattern *newSub = doIt(P->getSubPattern())) {
17431743
P->setSubPattern(newSub);
17441744
return P;

lib/AST/Decl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5601,7 +5601,7 @@ SourceRange VarDecl::getTypeSourceRangeForDiagnostics() const {
56015601
if (!Pat || Pat->isImplicit())
56025602
return SourceRange();
56035603

5604-
if (auto *VP = dyn_cast<VarPattern>(Pat))
5604+
if (auto *VP = dyn_cast<BindingPattern>(Pat))
56055605
Pat = VP->getSubPattern();
56065606
if (auto *TP = dyn_cast<TypedPattern>(Pat))
56075607
if (auto typeRepr = TP->getTypeRepr())

lib/AST/NameLookup.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2451,7 +2451,7 @@ void FindLocalVal::checkPattern(const Pattern *Pat, DeclVisibilityKind Reason) {
24512451
return;
24522452
case PatternKind::Paren:
24532453
case PatternKind::Typed:
2454-
case PatternKind::Var:
2454+
case PatternKind::Binding:
24552455
return checkPattern(Pat->getSemanticsProvidingPattern(), Reason);
24562456
case PatternKind::Named:
24572457
return checkValueDecl(cast<NamedPattern>(Pat)->getDecl(), Reason);

lib/AST/Pattern.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ llvm::raw_ostream &swift::operator<<(llvm::raw_ostream &OS, PatternKind kind) {
4848
return OS << "prefix 'is' pattern";
4949
case PatternKind::Expr:
5050
return OS << "expression pattern";
51-
case PatternKind::Var:
51+
case PatternKind::Binding:
5252
return OS << "'var' binding pattern";
5353
case PatternKind::EnumElement:
5454
return OS << "enum case matching pattern";
@@ -214,7 +214,7 @@ void Pattern::forEachVariable(llvm::function_ref<void(VarDecl *)> fn) const {
214214

215215
case PatternKind::Paren:
216216
case PatternKind::Typed:
217-
case PatternKind::Var:
217+
case PatternKind::Binding:
218218
return getSemanticsProvidingPattern()->forEachVariable(fn);
219219

220220
case PatternKind::Tuple:
@@ -262,8 +262,8 @@ void Pattern::forEachNode(llvm::function_ref<void(Pattern*)> f) {
262262
return cast<ParenPattern>(this)->getSubPattern()->forEachNode(f);
263263
case PatternKind::Typed:
264264
return cast<TypedPattern>(this)->getSubPattern()->forEachNode(f);
265-
case PatternKind::Var:
266-
return cast<VarPattern>(this)->getSubPattern()->forEachNode(f);
265+
case PatternKind::Binding:
266+
return cast<BindingPattern>(this)->getSubPattern()->forEachNode(f);
267267

268268
case PatternKind::Tuple:
269269
for (auto elt : cast<TuplePattern>(this)->getElements())

lib/ClangImporter/ImportDecl.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1634,10 +1634,10 @@ static void makeStructRawValuedWithBridge(
16341634
makeComputed(computedVar, computedVarGetter, nullptr);
16351635

16361636
// Create a pattern binding to describe the variable.
1637-
Pattern *computedVarPattern = createTypedNamedPattern(computedVar);
1637+
Pattern *computedBindingPattern = createTypedNamedPattern(computedVar);
16381638
auto *computedPatternBinding = PatternBindingDecl::createImplicit(
1639-
ctx, StaticSpellingKind::None, computedVarPattern, /*InitExpr*/ nullptr,
1640-
structDecl);
1639+
ctx, StaticSpellingKind::None, computedBindingPattern,
1640+
/*InitExpr*/ nullptr, structDecl);
16411641

16421642
auto init = createRawValueBridgingConstructor(Impl, structDecl, computedVar,
16431643
storedVar,

0 commit comments

Comments
 (0)