Skip to content

Commit 4c24384

Browse files
[Parse] Remove initializes and accesses attr parse code
1 parent 76becb4 commit 4c24384

File tree

2 files changed

+0
-78
lines changed

2 files changed

+0
-78
lines changed

include/swift/Parse/Parser.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1274,10 +1274,6 @@ class Parser {
12741274
AccessorKind currentKind,
12751275
SourceLoc const& currentLoc);
12761276

1277-
ParserStatus parseInitAccessorEffects(ParsedAccessors &accessors,
1278-
AccessorKind currentKind,
1279-
DeclAttributes &Attributes);
1280-
12811277
/// Parse accessors provided as a separate list, for use in macro
12821278
/// expansions.
12831279
void parseTopLevelAccessors(

lib/Parse/ParseDecl.cpp

Lines changed: 0 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -3523,14 +3523,6 @@ ParserStatus Parser::parseNewDeclAttribute(DeclAttributes &Attributes,
35233523
break;
35243524
}
35253525

3526-
case DAK_Initializes: {
3527-
llvm_unreachable("InitializesAttr not yet implemented");
3528-
}
3529-
3530-
case DAK_Accesses: {
3531-
llvm_unreachable("AccessesAttr not yet implemented");
3532-
}
3533-
35343526
case DAK_StorageRestrictions: {
35353527
ParserResult<StorageRestrictionsAttr> Attr =
35363528
parseStorageRestrictionsAttribute(AtLoc, Loc);
@@ -7446,71 +7438,6 @@ ParserStatus Parser::parseGetEffectSpecifier(ParsedAccessors &accessors,
74467438
return Status;
74477439
}
74487440

7449-
template <typename EffectAttr>
7450-
static ParserStatus parseInitAccessorEffect(Parser &P,
7451-
DeclAttributes &attributes,
7452-
StringRef attrName) {
7453-
ParserStatus status;
7454-
7455-
if (P.Tok.isContextualKeyword(attrName)) {
7456-
auto effectLoc = P.consumeToken();
7457-
if (!P.Tok.is(tok::l_paren)) {
7458-
P.diagnose(P.Tok.getLoc(), diag::attr_expected_lparen,
7459-
attrName, true);
7460-
status.setIsParseError();
7461-
return status;
7462-
}
7463-
7464-
// Consume '('
7465-
P.consumeToken();
7466-
7467-
bool hasNextProperty = false;
7468-
// Consume the identifier list
7469-
SmallVector<Identifier, 4> properties;
7470-
do {
7471-
Identifier propertyName;
7472-
SourceLoc propertyNameLoc;
7473-
if (P.parseIdentifier(propertyName, propertyNameLoc,
7474-
diag::init_accessor_expected_name,
7475-
/*diagnoseDollarPrefix=*/true)) {
7476-
status.setIsParseError();
7477-
return status;
7478-
}
7479-
7480-
properties.push_back(propertyName);
7481-
7482-
// Parse the comma, if the list continues.
7483-
hasNextProperty = P.consumeIf(tok::comma);
7484-
} while (hasNextProperty);
7485-
7486-
if (!P.Tok.is(tok::r_paren)) {
7487-
P.diagnose(P.Tok.getLoc(), diag::attr_expected_rparen,
7488-
attrName, true);
7489-
status.setIsParseError();
7490-
return status;
7491-
}
7492-
7493-
// Consume ')'
7494-
SourceLoc rParenLoc = P.consumeToken();
7495-
7496-
auto *attr = EffectAttr::create(P.Context, SourceLoc(),
7497-
SourceRange(effectLoc, rParenLoc),
7498-
properties);
7499-
attributes.add(attr);
7500-
}
7501-
7502-
return status;
7503-
}
7504-
7505-
ParserStatus Parser::parseInitAccessorEffects(ParsedAccessors &accessors,
7506-
AccessorKind currentKind,
7507-
DeclAttributes &attrs) {
7508-
ParserStatus status;
7509-
status |= parseInitAccessorEffect<InitializesAttr>(*this, attrs, "initializes");
7510-
status |= parseInitAccessorEffect<AccessesAttr>(*this, attrs, "accesses");
7511-
return status;
7512-
}
7513-
75147441
bool Parser::parseAccessorAfterIntroducer(
75157442
SourceLoc Loc, AccessorKind Kind, ParsedAccessors &accessors,
75167443
bool &hasEffectfulGet, ParameterList *Indices, bool &parsingLimitedSyntax,
@@ -7525,7 +7452,6 @@ bool Parser::parseAccessorAfterIntroducer(
75257452
SourceLoc throwsLoc;
75267453
Status |= parseGetEffectSpecifier(accessors, asyncLoc, throwsLoc,
75277454
hasEffectfulGet, Kind, Loc);
7528-
Status |= parseInitAccessorEffects(accessors, Kind, Attributes);
75297455

75307456
// Set up a function declaration.
75317457
auto accessor =

0 commit comments

Comments
 (0)