mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 12:11:04 +01:00
Use resolved names in typechecker (#974)
As a byproduct, replace NamedEntity with a type-erasing wrapper NamedEntityView, eliminate virtual inheritance from the AST, and eliminate interfaces from gen_rtti.
This commit is contained in:
@@ -3,19 +3,18 @@
|
||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
root class AstNode;
|
||||
interface class NamedEntity : AstNode;
|
||||
abstract class Pattern : AstNode;
|
||||
class AutoPattern : Pattern;
|
||||
class BindingPattern : Pattern, NamedEntity;
|
||||
class BindingPattern : Pattern;
|
||||
class TuplePattern : Pattern;
|
||||
class AlternativePattern : Pattern;
|
||||
class ExpressionPattern : Pattern;
|
||||
abstract class Declaration : AstNode;
|
||||
class FunctionDeclaration : Declaration, NamedEntity;
|
||||
class ClassDeclaration : Declaration, NamedEntity;
|
||||
class ChoiceDeclaration : Declaration, NamedEntity;
|
||||
class FunctionDeclaration : Declaration;
|
||||
class ClassDeclaration : Declaration;
|
||||
class ChoiceDeclaration : Declaration;
|
||||
class VariableDeclaration : Declaration;
|
||||
class GenericBinding : AstNode, NamedEntity;
|
||||
class GenericBinding : AstNode;
|
||||
class AlternativeSignature : AstNode;
|
||||
abstract class Statement : AstNode;
|
||||
class ExpressionStatement : Statement;
|
||||
@@ -28,7 +27,7 @@ abstract class Statement : AstNode;
|
||||
class Break : Statement;
|
||||
class Continue : Statement;
|
||||
class Match : Statement;
|
||||
class Continuation : Statement, NamedEntity;
|
||||
class Continuation : Statement;
|
||||
class Run : Statement;
|
||||
class Await : Statement;
|
||||
abstract class Expression : AstNode;
|
||||
|
||||
Reference in New Issue
Block a user