Forward.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /*
  2. * Copyright (c) 2023, Dan Klishch <danilklishch@gmail.com>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/Forward.h>
  8. namespace JSSpecCompiler {
  9. // AST/AST.h
  10. class NodeSubtreePointer;
  11. class VariableDeclaration;
  12. using VariableDeclarationRef = NonnullRefPtr<VariableDeclaration>;
  13. class Node;
  14. using NullableTree = RefPtr<Node>;
  15. using Tree = NonnullRefPtr<Node>;
  16. class Statement;
  17. class Expression;
  18. class ErrorNode;
  19. class ControlFlowOperator;
  20. class ControlFlowFunctionReturn;
  21. class ControlFlowJump;
  22. class ControlFlowBranch;
  23. class MathematicalConstant;
  24. class StringLiteral;
  25. class BinaryOperation;
  26. class UnaryOperation;
  27. class IsOneOfOperation;
  28. class UnresolvedReference;
  29. class ReturnNode;
  30. class AssertExpression;
  31. class IfBranch;
  32. class ElseIfBranch;
  33. class IfElseIfChain;
  34. class TreeList;
  35. class RecordDirectListInitialization;
  36. class FunctionCall;
  37. class SlotName;
  38. class Variable;
  39. using VariableRef = NonnullRefPtr<Variable>;
  40. class FunctionPointer;
  41. using FunctionPointerRef = NonnullRefPtr<FunctionPointer>;
  42. // Compiler/ControlFlowGraph.h
  43. class BasicBlock;
  44. using BasicBlockRef = BasicBlock*;
  45. class ControlFlowGraph;
  46. // Compiler/GenericASTPass.h
  47. class RecursiveASTVisitor;
  48. // Parser/SpecParser.h
  49. class AlgorithmStep;
  50. class AlgorithmStepList;
  51. class Algorithm;
  52. class SpecFunction;
  53. // Function.h
  54. struct TranslationUnit;
  55. using TranslationUnitRef = TranslationUnit*;
  56. class FunctionDefinition;
  57. using FunctionDefinitionRef = FunctionDefinition*;
  58. }