ast_rtti.txt 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # Part of the Carbon Language project, under the Apache License v2.0 with LLVM
  2. # Exceptions. See /LICENSE for license information.
  3. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. root class AstNode;
  5. interface class NamedEntity : AstNode;
  6. abstract class Pattern : AstNode;
  7. class AutoPattern : Pattern;
  8. class BindingPattern : Pattern, NamedEntity;
  9. class TuplePattern : Pattern;
  10. class AlternativePattern : Pattern;
  11. class ExpressionPattern : Pattern;
  12. abstract class Declaration : AstNode, NamedEntity;
  13. class FunctionDeclaration : Declaration;
  14. class ClassDeclaration : Declaration;
  15. class ChoiceDeclaration : Declaration;
  16. class VariableDeclaration : Declaration;
  17. class GenericBinding : AstNode, NamedEntity;
  18. class AlternativeSignature : AstNode, NamedEntity;
  19. abstract class Statement : AstNode;
  20. class ExpressionStatement : Statement;
  21. class Assign : Statement;
  22. class VariableDefinition : Statement;
  23. class If : Statement;
  24. class Return : Statement;
  25. class Block : Statement;
  26. class While : Statement;
  27. class Break : Statement;
  28. class Continue : Statement;
  29. class Match : Statement;
  30. class Continuation : Statement, NamedEntity;
  31. class Run : Statement;
  32. class Await : Statement;
  33. abstract class Expression : AstNode;
  34. class BoolTypeLiteral : Expression;
  35. class BoolLiteral : Expression;
  36. class CallExpression : Expression;
  37. class FunctionTypeLiteral : Expression;
  38. class FieldAccessExpression : Expression;
  39. class IndexExpression : Expression;
  40. class IntTypeLiteral : Expression;
  41. class ContinuationTypeLiteral : Expression;
  42. class IntLiteral : Expression;
  43. class PrimitiveOperatorExpression : Expression;
  44. class StringLiteral : Expression;
  45. class StringTypeLiteral : Expression;
  46. class TupleLiteral : Expression;
  47. class StructLiteral : Expression;
  48. class StructTypeLiteral : Expression;
  49. class TypeTypeLiteral : Expression;
  50. class IdentifierExpression : Expression;
  51. class IntrinsicExpression : Expression;
  52. class UnimplementedExpression : Expression;
  53. abstract class Member : AstNode;
  54. class FieldMember : Member, NamedEntity;