/* * Copyright (c) 2023, Dan Klishch * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include namespace JSSpecCompiler { // AST/AST.h class NodeSubtreePointer; class Node; using NullableTree = RefPtr; using Tree = NonnullRefPtr; class ErrorNode; class ScopedBlock; class MathematicalConstant; class StringLiteral; class BinaryOperation; class UnaryOperation; class IsOneOfOperation; class UnresolvedReference; class ReturnExpression; class AssertExpression; class IfBranch; class ElseIfBranch; class TreeList; class RecordDirectListInitialization; class FunctionCall; class SlotName; class Variable; class FunctionPointer; using FunctionPointerRef = NonnullRefPtr; // Parser/SpecParser.h class AlgorithmStep; class AlgorithmStepList; class Algorithm; class SpecFunction; // Function.h class ExecutionContext; class Function; using FunctionRef = Function*; }