ast_rtti.txt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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. abstract class Pattern : AstNode;
  6. class AutoPattern : Pattern;
  7. class VarPattern : Pattern;
  8. class AddrPattern : Pattern;
  9. class BindingPattern : Pattern;
  10. class GenericBinding : Pattern;
  11. class TuplePattern : Pattern;
  12. class AlternativePattern : Pattern;
  13. class ExpressionPattern : Pattern;
  14. abstract class Declaration : AstNode;
  15. class FunctionDeclaration : Declaration;
  16. class SelfDeclaration : Declaration;
  17. class ClassDeclaration : Declaration;
  18. class ChoiceDeclaration : Declaration;
  19. class VariableDeclaration : Declaration;
  20. class InterfaceDeclaration : Declaration;
  21. class AssociatedConstantDeclaration : Declaration;
  22. class ImplDeclaration : Declaration;
  23. class AliasDeclaration : Declaration;
  24. class ImplBinding : AstNode;
  25. class AlternativeSignature : AstNode;
  26. abstract class Statement : AstNode;
  27. class ExpressionStatement : Statement;
  28. class Assign : Statement;
  29. class VariableDefinition : Statement;
  30. class If : Statement;
  31. abstract class Return : Statement;
  32. class ReturnVar : Return;
  33. class ReturnExpression : Return;
  34. class Block : Statement;
  35. class While : Statement;
  36. class Break : Statement;
  37. class Continue : Statement;
  38. class Match : Statement;
  39. class Continuation : Statement;
  40. class Run : Statement;
  41. class Await : Statement;
  42. abstract class Expression : AstNode;
  43. class BoolTypeLiteral : Expression;
  44. class BoolLiteral : Expression;
  45. class CallExpression : Expression;
  46. class FunctionTypeLiteral : Expression;
  47. class SimpleMemberAccessExpression : Expression;
  48. class CompoundMemberAccessExpression : Expression;
  49. class IndexExpression : Expression;
  50. class IntTypeLiteral : Expression;
  51. class ContinuationTypeLiteral : Expression;
  52. class IntLiteral : Expression;
  53. class PrimitiveOperatorExpression : Expression;
  54. class StringLiteral : Expression;
  55. class StringTypeLiteral : Expression;
  56. class TupleLiteral : Expression;
  57. class StructLiteral : Expression;
  58. class StructTypeLiteral : Expression;
  59. class TypeTypeLiteral : Expression;
  60. class ValueLiteral : Expression;
  61. class IdentifierExpression : Expression;
  62. class DotSelfExpression : Expression;
  63. class IntrinsicExpression : Expression;
  64. class IfExpression : Expression;
  65. class WhereExpression : Expression;
  66. class UnimplementedExpression : Expression;
  67. class ArrayTypeLiteral : Expression;
  68. class InstantiateImpl : Expression;
  69. abstract class WhereClause : AstNode;
  70. class IsWhereClause : WhereClause;
  71. class EqualsWhereClause : WhereClause;