Forward.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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 SpecificationParsingContext;
  54. class AlgorithmStep;
  55. class AlgorithmStepList;
  56. class Algorithm;
  57. class SpecFunction;
  58. class SpecificationClause;
  59. class Specification;
  60. // DiagnosticEngine.h
  61. struct LogicalLocation;
  62. struct Location;
  63. class DiagnosticEngine;
  64. // Function.h
  65. class TranslationUnit;
  66. using TranslationUnitRef = TranslationUnit*;
  67. class FunctionDeclaration;
  68. using FunctionDeclarationRef = FunctionDeclaration*;
  69. class FunctionDefinition;
  70. using FunctionDefinitionRef = FunctionDefinition*;
  71. }