mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-25 21:10:11 +01:00
As a byproduct, replace NamedEntity with a type-erasing wrapper NamedEntityView, eliminate virtual inheritance from the AST, and eliminate interfaces from gen_rtti.
55 lines
1.9 KiB
Plaintext
55 lines
1.9 KiB
Plaintext
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
|
|
# Exceptions. See /LICENSE for license information.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
root class AstNode;
|
|
abstract class Pattern : AstNode;
|
|
class AutoPattern : Pattern;
|
|
class BindingPattern : Pattern;
|
|
class TuplePattern : Pattern;
|
|
class AlternativePattern : Pattern;
|
|
class ExpressionPattern : Pattern;
|
|
abstract class Declaration : AstNode;
|
|
class FunctionDeclaration : Declaration;
|
|
class ClassDeclaration : Declaration;
|
|
class ChoiceDeclaration : Declaration;
|
|
class VariableDeclaration : Declaration;
|
|
class GenericBinding : AstNode;
|
|
class AlternativeSignature : AstNode;
|
|
abstract class Statement : AstNode;
|
|
class ExpressionStatement : Statement;
|
|
class Assign : Statement;
|
|
class VariableDefinition : Statement;
|
|
class If : Statement;
|
|
class Return : Statement;
|
|
class Block : Statement;
|
|
class While : Statement;
|
|
class Break : Statement;
|
|
class Continue : Statement;
|
|
class Match : Statement;
|
|
class Continuation : Statement;
|
|
class Run : Statement;
|
|
class Await : Statement;
|
|
abstract class Expression : AstNode;
|
|
class BoolTypeLiteral : Expression;
|
|
class BoolLiteral : Expression;
|
|
class CallExpression : Expression;
|
|
class FunctionTypeLiteral : Expression;
|
|
class FieldAccessExpression : Expression;
|
|
class IndexExpression : Expression;
|
|
class IntTypeLiteral : Expression;
|
|
class ContinuationTypeLiteral : Expression;
|
|
class IntLiteral : Expression;
|
|
class PrimitiveOperatorExpression : Expression;
|
|
class StringLiteral : Expression;
|
|
class StringTypeLiteral : Expression;
|
|
class TupleLiteral : Expression;
|
|
class StructLiteral : Expression;
|
|
class StructTypeLiteral : Expression;
|
|
class TypeTypeLiteral : Expression;
|
|
class IdentifierExpression : Expression;
|
|
class IntrinsicExpression : Expression;
|
|
class UnimplementedExpression : Expression;
|
|
abstract class Member : AstNode;
|
|
class FieldMember : Member;
|