Forward.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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 NamedVariableDeclaration;
  14. using NamedVariableDeclarationRef = NonnullRefPtr<NamedVariableDeclaration>;
  15. class SSAVariableDeclaration;
  16. using SSAVariableDeclarationRef = RefPtr<SSAVariableDeclaration>;
  17. class Node;
  18. using NullableTree = RefPtr<Node>;
  19. using Tree = NonnullRefPtr<Node>;
  20. class Statement;
  21. class Expression;
  22. class ErrorNode;
  23. class ControlFlowOperator;
  24. class ControlFlowFunctionReturn;
  25. class ControlFlowJump;
  26. class ControlFlowBranch;
  27. class MathematicalConstant;
  28. class StringLiteral;
  29. class BinaryOperation;
  30. class UnaryOperation;
  31. class IsOneOfOperation;
  32. class UnresolvedReference;
  33. class ReturnNode;
  34. class AssertExpression;
  35. class IfBranch;
  36. class ElseIfBranch;
  37. class IfElseIfChain;
  38. class TreeList;
  39. class RecordDirectListInitialization;
  40. class FunctionCall;
  41. class SlotName;
  42. class Variable;
  43. using VariableRef = NonnullRefPtr<Variable>;
  44. class FunctionPointer;
  45. using FunctionPointerRef = NonnullRefPtr<FunctionPointer>;
  46. // Compiler/ControlFlowGraph.h
  47. class BasicBlock;
  48. using BasicBlockRef = BasicBlock*;
  49. class ControlFlowGraph;
  50. // Compiler/GenericASTPass.h
  51. class RecursiveASTVisitor;
  52. // Parser/SpecParser.h
  53. class AlgorithmStep;
  54. class AlgorithmStepList;
  55. class Algorithm;
  56. class SpecFunction;
  57. class SpecificationClause;
  58. class Specification;
  59. // DiagnosticEngine.h
  60. struct LogicalLocation;
  61. struct Location;
  62. class DiagnosticEngine;
  63. // Function.h
  64. class TranslationUnit;
  65. using TranslationUnitRef = TranslationUnit*;
  66. class FunctionDeclaration;
  67. using FunctionDeclarationRef = FunctionDeclaration*;
  68. class FunctionDefinition;
  69. using FunctionDefinitionRef = FunctionDefinition*;
  70. }