mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-06 08:44:41 +01:00
Rename self/Self enums to SelfValueIdentifier/SelfTypeIdentifier (#2701)
Using `Identifier` because `self` and `Self` will resolve to different things. While `i32` uses `Literal`, it'd always resolve to the same type.
This commit is contained in:
@@ -93,22 +93,18 @@ CARBON_SYMBOL_TOKEN(Tilde, "~")
|
||||
#define CARBON_OPENING_GROUP_SYMBOL_TOKEN(Name, Spelling, ClosingName) \
|
||||
CARBON_SYMBOL_TOKEN(Name, Spelling)
|
||||
#endif
|
||||
// clang-format on
|
||||
CARBON_OPENING_GROUP_SYMBOL_TOKEN(OpenParen, "(", CloseParen)
|
||||
CARBON_OPENING_GROUP_SYMBOL_TOKEN(OpenCurlyBrace, "{", CloseCurlyBrace)
|
||||
CARBON_OPENING_GROUP_SYMBOL_TOKEN(OpenSquareBracket, "[", CloseSquareBracket)
|
||||
// clang-format off
|
||||
#undef CARBON_OPENING_GROUP_SYMBOL_TOKEN
|
||||
|
||||
#ifndef CARBON_CLOSING_GROUP_SYMBOL_TOKEN
|
||||
#define CARBON_CLOSING_GROUP_SYMBOL_TOKEN(Name, Spelling, OpeningName) \
|
||||
#define CARBON_CLOSING_GROUP_SYMBOL_TOKEN(Name, Spelling, OpeningName) \
|
||||
CARBON_SYMBOL_TOKEN(Name, Spelling)
|
||||
#endif
|
||||
// clang-format on
|
||||
CARBON_CLOSING_GROUP_SYMBOL_TOKEN(CloseParen, ")", OpenParen)
|
||||
CARBON_CLOSING_GROUP_SYMBOL_TOKEN(CloseCurlyBrace, "}", OpenCurlyBrace)
|
||||
CARBON_CLOSING_GROUP_SYMBOL_TOKEN(CloseSquareBracket, "]", OpenSquareBracket)
|
||||
// clang-format off
|
||||
#undef CARBON_CLOSING_GROUP_SYMBOL_TOKEN
|
||||
|
||||
#undef CARBON_SYMBOL_TOKEN
|
||||
@@ -117,61 +113,61 @@ CARBON_CLOSING_GROUP_SYMBOL_TOKEN(CloseSquareBracket, "]", OpenSquareBracket)
|
||||
#define CARBON_KEYWORD_TOKEN(Name, Spelling) CARBON_TOKEN(Name)
|
||||
#endif
|
||||
// clang-format off
|
||||
CARBON_KEYWORD_TOKEN(Abstract, "abstract")
|
||||
CARBON_KEYWORD_TOKEN(Addr, "addr")
|
||||
CARBON_KEYWORD_TOKEN(Alias, "alias")
|
||||
CARBON_KEYWORD_TOKEN(And, "and")
|
||||
CARBON_KEYWORD_TOKEN(Api, "api")
|
||||
CARBON_KEYWORD_TOKEN(As, "as")
|
||||
CARBON_KEYWORD_TOKEN(Auto, "auto")
|
||||
CARBON_KEYWORD_TOKEN(Base, "base")
|
||||
CARBON_KEYWORD_TOKEN(Break, "break")
|
||||
CARBON_KEYWORD_TOKEN(Case, "case")
|
||||
CARBON_KEYWORD_TOKEN(Class, "class")
|
||||
CARBON_KEYWORD_TOKEN(Constraint, "constraint")
|
||||
CARBON_KEYWORD_TOKEN(Continue, "continue")
|
||||
CARBON_KEYWORD_TOKEN(Default, "default")
|
||||
CARBON_KEYWORD_TOKEN(Else, "else")
|
||||
CARBON_KEYWORD_TOKEN(Extends, "extends")
|
||||
CARBON_KEYWORD_TOKEN(External, "external")
|
||||
CARBON_KEYWORD_TOKEN(Final, "final")
|
||||
CARBON_KEYWORD_TOKEN(Fn, "fn")
|
||||
CARBON_KEYWORD_TOKEN(For, "for")
|
||||
CARBON_KEYWORD_TOKEN(In, "in")
|
||||
CARBON_KEYWORD_TOKEN(Friend, "friend")
|
||||
CARBON_KEYWORD_TOKEN(If, "if")
|
||||
CARBON_KEYWORD_TOKEN(Impl, "impl")
|
||||
CARBON_KEYWORD_TOKEN(Import, "import")
|
||||
CARBON_KEYWORD_TOKEN(Interface, "interface")
|
||||
CARBON_KEYWORD_TOKEN(Is, "is")
|
||||
CARBON_KEYWORD_TOKEN(Let, "let")
|
||||
CARBON_KEYWORD_TOKEN(Library, "library")
|
||||
CARBON_KEYWORD_TOKEN(Match, "match")
|
||||
CARBON_KEYWORD_TOKEN(Namespace, "namespace")
|
||||
CARBON_KEYWORD_TOKEN(Not, "not")
|
||||
CARBON_KEYWORD_TOKEN(Observe, "observe")
|
||||
CARBON_KEYWORD_TOKEN(Or, "or")
|
||||
CARBON_KEYWORD_TOKEN(Override, "override")
|
||||
CARBON_KEYWORD_TOKEN(Package, "package")
|
||||
CARBON_KEYWORD_TOKEN(Partial, "partial")
|
||||
CARBON_KEYWORD_TOKEN(Private, "private")
|
||||
CARBON_KEYWORD_TOKEN(Protected, "protected")
|
||||
CARBON_KEYWORD_TOKEN(Return, "return")
|
||||
CARBON_KEYWORD_TOKEN(Returned, "returned")
|
||||
CARBON_KEYWORD_TOKEN(SelfParameter, "self")
|
||||
CARBON_KEYWORD_TOKEN(SelfType, "Self")
|
||||
CARBON_KEYWORD_TOKEN(Abstract, "abstract")
|
||||
CARBON_KEYWORD_TOKEN(Addr, "addr")
|
||||
CARBON_KEYWORD_TOKEN(Alias, "alias")
|
||||
CARBON_KEYWORD_TOKEN(And, "and")
|
||||
CARBON_KEYWORD_TOKEN(Api, "api")
|
||||
CARBON_KEYWORD_TOKEN(As, "as")
|
||||
CARBON_KEYWORD_TOKEN(Auto, "auto")
|
||||
CARBON_KEYWORD_TOKEN(Base, "base")
|
||||
CARBON_KEYWORD_TOKEN(Break, "break")
|
||||
CARBON_KEYWORD_TOKEN(Case, "case")
|
||||
CARBON_KEYWORD_TOKEN(Class, "class")
|
||||
CARBON_KEYWORD_TOKEN(Constraint, "constraint")
|
||||
CARBON_KEYWORD_TOKEN(Continue, "continue")
|
||||
CARBON_KEYWORD_TOKEN(Default, "default")
|
||||
CARBON_KEYWORD_TOKEN(Else, "else")
|
||||
CARBON_KEYWORD_TOKEN(Extends, "extends")
|
||||
CARBON_KEYWORD_TOKEN(External, "external")
|
||||
CARBON_KEYWORD_TOKEN(Final, "final")
|
||||
CARBON_KEYWORD_TOKEN(Fn, "fn")
|
||||
CARBON_KEYWORD_TOKEN(For, "for")
|
||||
CARBON_KEYWORD_TOKEN(Friend, "friend")
|
||||
CARBON_KEYWORD_TOKEN(If, "if")
|
||||
CARBON_KEYWORD_TOKEN(Impl, "impl")
|
||||
CARBON_KEYWORD_TOKEN(Import, "import")
|
||||
CARBON_KEYWORD_TOKEN(In, "in")
|
||||
CARBON_KEYWORD_TOKEN(Interface, "interface")
|
||||
CARBON_KEYWORD_TOKEN(Is, "is")
|
||||
CARBON_KEYWORD_TOKEN(Let, "let")
|
||||
CARBON_KEYWORD_TOKEN(Library, "library")
|
||||
CARBON_KEYWORD_TOKEN(Match, "match")
|
||||
CARBON_KEYWORD_TOKEN(Namespace, "namespace")
|
||||
CARBON_KEYWORD_TOKEN(Not, "not")
|
||||
CARBON_KEYWORD_TOKEN(Observe, "observe")
|
||||
CARBON_KEYWORD_TOKEN(Or, "or")
|
||||
CARBON_KEYWORD_TOKEN(Override, "override")
|
||||
CARBON_KEYWORD_TOKEN(Package, "package")
|
||||
CARBON_KEYWORD_TOKEN(Partial, "partial")
|
||||
CARBON_KEYWORD_TOKEN(Private, "private")
|
||||
CARBON_KEYWORD_TOKEN(Protected, "protected")
|
||||
CARBON_KEYWORD_TOKEN(Return, "return")
|
||||
CARBON_KEYWORD_TOKEN(Returned, "returned")
|
||||
CARBON_KEYWORD_TOKEN(SelfTypeIdentifier, "Self")
|
||||
CARBON_KEYWORD_TOKEN(SelfValueIdentifier, "self")
|
||||
// TODO: Although we provide a String type literal, it's not standardized.
|
||||
CARBON_KEYWORD_TOKEN(StringTypeLiteral, "String")
|
||||
CARBON_KEYWORD_TOKEN(Template, "template")
|
||||
CARBON_KEYWORD_TOKEN(Then, "then")
|
||||
CARBON_KEYWORD_TOKEN(StringTypeLiteral, "String")
|
||||
CARBON_KEYWORD_TOKEN(Template, "template")
|
||||
CARBON_KEYWORD_TOKEN(Then, "then")
|
||||
// Underscore is tokenized as a keyword because it's part of identifiers.
|
||||
CARBON_KEYWORD_TOKEN(Underscore, "_")
|
||||
CARBON_KEYWORD_TOKEN(Var, "var")
|
||||
CARBON_KEYWORD_TOKEN(Virtual, "virtual")
|
||||
CARBON_KEYWORD_TOKEN(Where, "where")
|
||||
CARBON_KEYWORD_TOKEN(While, "while")
|
||||
CARBON_KEYWORD_TOKEN(Underscore, "_")
|
||||
CARBON_KEYWORD_TOKEN(Var, "var")
|
||||
CARBON_KEYWORD_TOKEN(Virtual, "virtual")
|
||||
CARBON_KEYWORD_TOKEN(Where, "where")
|
||||
CARBON_KEYWORD_TOKEN(While, "while")
|
||||
// TODO: In use by precedence.cpp, but not standardized.
|
||||
CARBON_KEYWORD_TOKEN(Xor, "xor")
|
||||
CARBON_KEYWORD_TOKEN(Xor, "xor")
|
||||
// clang-format on
|
||||
#undef CARBON_KEYWORD_TOKEN
|
||||
|
||||
|
||||
@@ -107,7 +107,8 @@ CARBON_PARSE_NODE_KIND_BRACKET(DeducedParameterList, DeducedParameterListStart)
|
||||
// _external_: type expression
|
||||
// [Generic]PatternBinding
|
||||
//
|
||||
// Address and Template may be parents to [Generic]PatternBinding, in that order.
|
||||
// Address and Template may be parents to [Generic]PatternBinding, in that
|
||||
// order.
|
||||
CARBON_PARSE_NODE_KIND_CHILD_COUNT(PatternBinding, 2)
|
||||
CARBON_PARSE_NODE_KIND_CHILD_COUNT(GenericPatternBinding, 2)
|
||||
CARBON_PARSE_NODE_KIND_CHILD_COUNT(Address, 1)
|
||||
@@ -337,12 +338,13 @@ CARBON_PARSE_NODE_KIND_BRACKET(NamedConstraintDefinition,
|
||||
CARBON_PARSE_NODE_KIND_BRACKET(NamedConstraintDeclaration,
|
||||
NamedConstraintIntroducer)
|
||||
|
||||
// The `self` name and `Self` type keywords. Typically of the form `self: Self`:
|
||||
// SelfIdentifier
|
||||
// SelfType
|
||||
// The `self` value and `Self` type identifier keywords. Typically of the form
|
||||
// `self: Self`:
|
||||
// SelfValueIdentifier
|
||||
// SelfTypeIdentifier
|
||||
// PatternBinding
|
||||
CARBON_PARSE_NODE_KIND_CHILD_COUNT(SelfIdentifier, 0)
|
||||
CARBON_PARSE_NODE_KIND_CHILD_COUNT(SelfType, 0)
|
||||
CARBON_PARSE_NODE_KIND_CHILD_COUNT(SelfValueIdentifier, 0)
|
||||
CARBON_PARSE_NODE_KIND_CHILD_COUNT(SelfTypeIdentifier, 0)
|
||||
|
||||
#undef CARBON_PARSE_NODE_KIND
|
||||
#undef CARBON_PARSE_NODE_KIND_BRACKET
|
||||
|
||||
@@ -948,13 +948,13 @@ auto Parser::HandleExpressionInPostfixState() -> void {
|
||||
PushState(ParserState::ParenExpression);
|
||||
break;
|
||||
}
|
||||
case TokenKind::SelfParameter: {
|
||||
AddLeafNode(ParseNodeKind::SelfIdentifier, Consume());
|
||||
case TokenKind::SelfValueIdentifier: {
|
||||
AddLeafNode(ParseNodeKind::SelfValueIdentifier, Consume());
|
||||
PushState(state);
|
||||
break;
|
||||
}
|
||||
case TokenKind::SelfType: {
|
||||
AddLeafNode(ParseNodeKind::SelfType, Consume());
|
||||
case TokenKind::SelfTypeIdentifier: {
|
||||
AddLeafNode(ParseNodeKind::SelfTypeIdentifier, Consume());
|
||||
PushState(state);
|
||||
break;
|
||||
}
|
||||
@@ -1498,8 +1498,8 @@ auto Parser::HandlePattern(PatternKind pattern_kind) -> void {
|
||||
if (auto identifier = ConsumeIf(TokenKind::Identifier)) {
|
||||
AddLeafNode(ParseNodeKind::DeclaredName, *identifier);
|
||||
} else if (pattern_kind == PatternKind::DeducedParameter) {
|
||||
if (auto self = ConsumeIf(TokenKind::SelfParameter)) {
|
||||
AddLeafNode(ParseNodeKind::SelfIdentifier, *self);
|
||||
if (auto self = ConsumeIf(TokenKind::SelfValueIdentifier)) {
|
||||
AddLeafNode(ParseNodeKind::SelfValueIdentifier, *self);
|
||||
} else {
|
||||
on_error();
|
||||
return;
|
||||
|
||||
+4
-4
@@ -12,7 +12,7 @@
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'Make'},
|
||||
// CHECK:STDOUT: {kind: 'ParameterListStart', text: '('},
|
||||
// CHECK:STDOUT: {kind: 'ParameterList', text: ')', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'ReturnType', text: '->', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 7},
|
||||
// CHECK:STDOUT: {kind: 'ReturnStatementStart', text: 'return'},
|
||||
@@ -27,8 +27,8 @@
|
||||
// CHECK:STDOUT: {kind: 'FunctionIntroducer', text: 'fn'},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'Baz'},
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterListStart', text: '['},
|
||||
// CHECK:STDOUT: {kind: 'SelfIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfValueIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterList', text: ']', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'ParameterListStart', text: '('},
|
||||
@@ -37,7 +37,7 @@
|
||||
// CHECK:STDOUT: {kind: 'ReturnType', text: '->', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 12},
|
||||
// CHECK:STDOUT: {kind: 'ReturnStatementStart', text: 'return'},
|
||||
// CHECK:STDOUT: {kind: 'SelfIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfValueIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'DesignatedName', text: 'x'},
|
||||
// CHECK:STDOUT: {kind: 'DesignatorExpression', text: '.', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'ReturnStatement', text: ';', subtree_size: 5},
|
||||
|
||||
@@ -11,31 +11,31 @@
|
||||
// CHECK:STDOUT: {kind: 'FunctionIntroducer', text: 'fn'},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'Add'},
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterListStart', text: '['},
|
||||
// CHECK:STDOUT: {kind: 'SelfIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfValueIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterList', text: ']', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'ParameterListStart', text: '('},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'b'},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'ParameterList', text: ')', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'ReturnType', text: '->', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', subtree_size: 15},
|
||||
// CHECK:STDOUT: {kind: 'FunctionIntroducer', text: 'fn'},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'Add'},
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterListStart', text: '['},
|
||||
// CHECK:STDOUT: {kind: 'SelfIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfValueIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'NameReference', text: 'foo'},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterList', text: ']', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'ParameterListStart', text: '('},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'b'},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'ParameterList', text: ')', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'ReturnType', text: '->', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', subtree_size: 15},
|
||||
// CHECK:STDOUT: {kind: 'InterfaceDefinition', text: '}', subtree_size: 34},
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
// CHECK:STDOUT: {kind: 'FunctionIntroducer', text: 'fn'},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'Add'},
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterListStart', text: '['},
|
||||
// CHECK:STDOUT: {kind: 'SelfIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfValueIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterList', text: ']', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'ParameterListStart', text: '('},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'b'},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'ParameterList', text: ')', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'ReturnType', text: '->', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'FunctionDeclaration', text: 'fn', has_error: yes, subtree_size: 15},
|
||||
// CHECK:STDOUT: {kind: 'InterfaceDefinition', text: '}', subtree_size: 19},
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterList', text: ']', has_error: yes, subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'ParameterListStart', text: '('},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'b'},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'ParameterList', text: ')', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'ReturnType', text: '->', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', subtree_size: 13},
|
||||
// CHECK:STDOUT: {kind: 'FunctionIntroducer', text: 'fn'},
|
||||
@@ -27,10 +27,10 @@
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterList', text: ']', has_error: yes, subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'ParameterListStart', text: '('},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'b'},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'ParameterList', text: ')', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'ReturnType', text: '->', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', subtree_size: 12},
|
||||
// CHECK:STDOUT: {kind: 'InterfaceDefinition', text: '}', subtree_size: 29},
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'FooFactory'},
|
||||
// CHECK:STDOUT: {kind: 'ParameterListStart', text: '('},
|
||||
// CHECK:STDOUT: {kind: 'ParameterList', text: ')', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'ReturnType', text: '->', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', subtree_size: 7},
|
||||
// CHECK:STDOUT: {kind: 'InterfaceDefinition', text: '}', subtree_size: 11},
|
||||
|
||||
@@ -11,24 +11,24 @@
|
||||
// CHECK:STDOUT: {kind: 'FunctionIntroducer', text: 'fn'},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'Sub'},
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterListStart', text: '['},
|
||||
// CHECK:STDOUT: {kind: 'SelfIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfValueIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'PostfixOperator', text: '*', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 4},
|
||||
// CHECK:STDOUT: {kind: 'Address', text: 'addr', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterList', text: ']', subtree_size: 7},
|
||||
// CHECK:STDOUT: {kind: 'ParameterListStart', text: '('},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'b'},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'ParameterList', text: ')', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'ReturnType', text: '->', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', subtree_size: 17},
|
||||
// CHECK:STDOUT: {kind: 'FunctionIntroducer', text: 'fn'},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'Sub'},
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterListStart', text: '['},
|
||||
// CHECK:STDOUT: {kind: 'SelfIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfValueIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'NameReference', text: 'foo'},
|
||||
// CHECK:STDOUT: {kind: 'PostfixOperator', text: '*', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 4},
|
||||
@@ -36,10 +36,10 @@
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterList', text: ']', subtree_size: 7},
|
||||
// CHECK:STDOUT: {kind: 'ParameterListStart', text: '('},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'b'},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'ParameterList', text: ')', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'ReturnType', text: '->', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', subtree_size: 17},
|
||||
// CHECK:STDOUT: {kind: 'InterfaceDefinition', text: '}', subtree_size: 38},
|
||||
|
||||
+4
-4
@@ -11,16 +11,16 @@
|
||||
// CHECK:STDOUT: {kind: 'FunctionIntroducer', text: 'fn'},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'Add'},
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterListStart', text: '['},
|
||||
// CHECK:STDOUT: {kind: 'SelfIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfValueIdentifier', text: 'self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'DeducedParameterList', text: ']', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'ParameterListStart', text: '('},
|
||||
// CHECK:STDOUT: {kind: 'DeclaredName', text: 'b'},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'ParameterList', text: ')', subtree_size: 5},
|
||||
// CHECK:STDOUT: {kind: 'SelfType', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'SelfTypeIdentifier', text: 'Self'},
|
||||
// CHECK:STDOUT: {kind: 'ReturnType', text: '->', subtree_size: 2},
|
||||
// CHECK:STDOUT: {kind: 'FunctionDeclaration', text: 'fn', has_error: yes, subtree_size: 15},
|
||||
// CHECK:STDOUT: {kind: 'NamedConstraintDefinition', text: '}', subtree_size: 19},
|
||||
|
||||
@@ -922,15 +922,15 @@ auto SemanticsParseTreeHandler::HandleReturnType(ParseTree::Node parse_node)
|
||||
return true;
|
||||
}
|
||||
|
||||
auto SemanticsParseTreeHandler::HandleSelfIdentifier(ParseTree::Node parse_node)
|
||||
-> bool {
|
||||
emitter_->Emit(parse_node, SemanticsTodo, "HandleSelfIdentifier");
|
||||
auto SemanticsParseTreeHandler::HandleSelfTypeIdentifier(
|
||||
ParseTree::Node parse_node) -> bool {
|
||||
emitter_->Emit(parse_node, SemanticsTodo, "HandleSelfTypeIdentifier");
|
||||
return false;
|
||||
}
|
||||
|
||||
auto SemanticsParseTreeHandler::HandleSelfType(ParseTree::Node parse_node)
|
||||
-> bool {
|
||||
emitter_->Emit(parse_node, SemanticsTodo, "HandleSelfType");
|
||||
auto SemanticsParseTreeHandler::HandleSelfValueIdentifier(
|
||||
ParseTree::Node parse_node) -> bool {
|
||||
emitter_->Emit(parse_node, SemanticsTodo, "HandleSelfValueIdentifier");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user