ast_rtti.txt 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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 NamespaceDeclaration : Declaration;
  16. abstract class CallableDeclaration : Declaration;
  17. class FunctionDeclaration : CallableDeclaration;
  18. class DestructorDeclaration : CallableDeclaration;
  19. class SelfDeclaration : Declaration;
  20. class ClassDeclaration : Declaration;
  21. class MixinDeclaration : Declaration;
  22. class MixDeclaration : Declaration;
  23. class ChoiceDeclaration : Declaration;
  24. class VariableDeclaration : Declaration;
  25. abstract class ConstraintTypeDeclaration : Declaration;
  26. class InterfaceDeclaration : ConstraintTypeDeclaration;
  27. class ConstraintDeclaration : ConstraintTypeDeclaration;
  28. class InterfaceExtendsDeclaration : Declaration;
  29. class InterfaceImplDeclaration : Declaration;
  30. class AssociatedConstantDeclaration : Declaration;
  31. class ImplDeclaration : Declaration;
  32. class MatchFirstDeclaration : Declaration;
  33. class AliasDeclaration : Declaration;
  34. class ImplBinding : AstNode;
  35. class AlternativeSignature : AstNode;
  36. abstract class Statement : AstNode;
  37. class ExpressionStatement : Statement;
  38. class Assign : Statement;
  39. class IncrementDecrement : Statement;
  40. class VariableDefinition : Statement;
  41. class If : Statement;
  42. abstract class Return : Statement;
  43. class ReturnVar : Return;
  44. class ReturnExpression : Return;
  45. class Block : Statement;
  46. class While : Statement;
  47. class Break : Statement;
  48. class Continue : Statement;
  49. class Match : Statement;
  50. class Continuation : Statement;
  51. class Run : Statement;
  52. class Await : Statement;
  53. class For : Statement;
  54. abstract class Expression : AstNode;
  55. class BoolTypeLiteral : Expression;
  56. class BoolLiteral : Expression;
  57. class CallExpression : Expression;
  58. abstract class ConstantValueLiteral : Expression;
  59. class FunctionTypeLiteral : ConstantValueLiteral;
  60. class StructTypeLiteral : ConstantValueLiteral;
  61. class ArrayTypeLiteral : ConstantValueLiteral;
  62. class ValueLiteral : ConstantValueLiteral;
  63. abstract class MemberAccessExpression : Expression;
  64. class SimpleMemberAccessExpression : MemberAccessExpression;
  65. class CompoundMemberAccessExpression : MemberAccessExpression;
  66. class BaseAccessExpression : MemberAccessExpression;
  67. class IndexExpression : Expression;
  68. class IntTypeLiteral : Expression;
  69. class ContinuationTypeLiteral : Expression;
  70. class IntLiteral : Expression;
  71. class OperatorExpression : Expression;
  72. class StringLiteral : Expression;
  73. class StringTypeLiteral : Expression;
  74. class TupleLiteral : Expression;
  75. class StructLiteral : Expression;
  76. class TypeTypeLiteral : Expression;
  77. class IdentifierExpression : Expression;
  78. class DotSelfExpression : Expression;
  79. class IntrinsicExpression : Expression;
  80. class IfExpression : Expression;
  81. class WhereExpression : Expression;
  82. class BuiltinConvertExpression : Expression;
  83. class UnimplementedExpression : Expression;
  84. abstract class WhereClause : AstNode;
  85. class IsWhereClause : WhereClause;
  86. class EqualsWhereClause : WhereClause;
  87. class RewriteWhereClause : WhereClause;
  88. root class Element;
  89. class NamedElement : Element;
  90. class PositionalElement : Element;
  91. class BaseElement : Element;