Parse self in expressions. (#2697)

`self` wasn't being handled in expression logic, only parameter logic. This is needed for `self.x`.

Also renames SelfDeducedParameter to SelfIdentifier because it's parsed fairly consistently with Identifier; this better represents the situations where `self` will need to be handled, it's where `Identifier` is allowed (although `Identifier` could also refer to a type... but I still think `SelfDeducedParameter` is a more difficult to understand name).
This commit is contained in:
Jon Ross-Perkins
2023-03-20 14:13:29 -07:00
committed by GitHub
parent f50ca72797
commit d0105e119f
9 changed files with 92 additions and 12 deletions
@@ -922,9 +922,9 @@ auto SemanticsParseTreeHandler::HandleReturnType(ParseTree::Node parse_node)
return true;
}
auto SemanticsParseTreeHandler::HandleSelfDeducedParameter(
ParseTree::Node parse_node) -> bool {
emitter_->Emit(parse_node, SemanticsTodo, "HandleSelfDeducedParameter");
auto SemanticsParseTreeHandler::HandleSelfIdentifier(ParseTree::Node parse_node)
-> bool {
emitter_->Emit(parse_node, SemanticsTodo, "HandleSelfIdentifier");
return false;
}