Forward.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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 Enumerator;
  43. using EnumeratorRef = NonnullRefPtr<Enumerator>;
  44. class Variable;
  45. using VariableRef = NonnullRefPtr<Variable>;
  46. class FunctionPointer;
  47. using FunctionPointerRef = NonnullRefPtr<FunctionPointer>;
  48. // Compiler/ControlFlowGraph.h
  49. class BasicBlock;
  50. using BasicBlockRef = BasicBlock*;
  51. class ControlFlowGraph;
  52. // Compiler/GenericASTPass.h
  53. class RecursiveASTVisitor;
  54. // Parser/SpecParser.h
  55. class SpecificationParsingContext;
  56. class AlgorithmStep;
  57. class AlgorithmStepList;
  58. class Algorithm;
  59. class SpecificationFunction;
  60. class SpecificationClause;
  61. class Specification;
  62. // DiagnosticEngine.h
  63. struct LogicalLocation;
  64. struct Location;
  65. class DiagnosticEngine;
  66. // Function.h
  67. class TranslationUnit;
  68. using TranslationUnitRef = TranslationUnit*;
  69. class FunctionDeclaration;
  70. using FunctionDeclarationRef = FunctionDeclaration*;
  71. class FunctionDefinition;
  72. using FunctionDefinitionRef = FunctionDefinition*;
  73. }