Forward.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. // Compiler/GenericASTPass.h
  46. class RecursiveASTVisitor;
  47. // Parser/SpecParser.h
  48. class AlgorithmStep;
  49. class AlgorithmStepList;
  50. class Algorithm;
  51. class SpecFunction;
  52. // Function.h
  53. struct TranslationUnit;
  54. class FunctionDefinition;
  55. using FunctionDefinitionRef = FunctionDefinition*;
  56. }