Files
carbon-lang/executable_semantics/ast/ast_rtti.txt
T

56 lines
2.0 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;
interface class NamedEntity : AstNode;
abstract class Pattern : AstNode;
class AutoPattern : Pattern;
class BindingPattern : Pattern, NamedEntity;
class TuplePattern : Pattern;
class AlternativePattern : Pattern;
class ExpressionPattern : Pattern;
abstract class Declaration : AstNode, NamedEntity;
class FunctionDeclaration : Declaration;
class ClassDeclaration : Declaration;
class ChoiceDeclaration : Declaration;
class VariableDeclaration : Declaration;
class GenericBinding : AstNode, NamedEntity;
class AlternativeSignature : AstNode, NamedEntity;
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, NamedEntity;
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, NamedEntity;