2023-08-17 23:27:48 -03:00
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2023, Dan Klishch <danilklishch@gmail.com>
|
|
|
|
|
*
|
|
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <AK/Forward.h>
|
|
|
|
|
|
|
|
|
|
namespace JSSpecCompiler {
|
|
|
|
|
|
|
|
|
|
// AST/AST.h
|
|
|
|
|
class NodeSubtreePointer;
|
2023-08-20 00:17:06 -03:00
|
|
|
class VariableDeclaration;
|
|
|
|
|
using VariableDeclarationRef = NonnullRefPtr<VariableDeclaration>;
|
2023-08-17 23:27:48 -03:00
|
|
|
|
|
|
|
|
class Node;
|
|
|
|
|
using NullableTree = RefPtr<Node>;
|
|
|
|
|
using Tree = NonnullRefPtr<Node>;
|
2023-08-19 15:05:36 -03:00
|
|
|
class Statement;
|
|
|
|
|
class Expression;
|
2023-08-17 23:27:48 -03:00
|
|
|
class ErrorNode;
|
2023-08-19 15:14:57 -03:00
|
|
|
class ControlFlowOperator;
|
2023-08-17 23:27:48 -03:00
|
|
|
|
2023-08-19 15:14:57 -03:00
|
|
|
class ControlFlowFunctionReturn;
|
|
|
|
|
class ControlFlowJump;
|
|
|
|
|
class ControlFlowBranch;
|
2023-08-17 23:27:48 -03:00
|
|
|
class MathematicalConstant;
|
|
|
|
|
class StringLiteral;
|
|
|
|
|
class BinaryOperation;
|
|
|
|
|
class UnaryOperation;
|
|
|
|
|
class IsOneOfOperation;
|
|
|
|
|
class UnresolvedReference;
|
2023-08-19 15:05:36 -03:00
|
|
|
class ReturnNode;
|
2023-08-17 23:27:48 -03:00
|
|
|
class AssertExpression;
|
|
|
|
|
class IfBranch;
|
|
|
|
|
class ElseIfBranch;
|
2023-08-18 22:16:53 -03:00
|
|
|
class IfElseIfChain;
|
2023-08-17 23:27:48 -03:00
|
|
|
class TreeList;
|
|
|
|
|
class RecordDirectListInitialization;
|
|
|
|
|
class FunctionCall;
|
|
|
|
|
class SlotName;
|
|
|
|
|
class Variable;
|
2023-08-19 15:14:57 -03:00
|
|
|
using VariableRef = NonnullRefPtr<Variable>;
|
2023-08-17 23:27:48 -03:00
|
|
|
class FunctionPointer;
|
2023-08-20 15:05:48 -03:00
|
|
|
using FunctionPointerRef = NonnullRefPtr<FunctionPointer>;
|
2023-08-17 23:27:48 -03:00
|
|
|
|
2023-08-19 15:14:57 -03:00
|
|
|
// Compiler/ControlFlowGraph.h
|
|
|
|
|
class BasicBlock;
|
|
|
|
|
using BasicBlockRef = BasicBlock*;
|
|
|
|
|
|
2023-09-02 15:33:35 -03:00
|
|
|
// Compiler/GenericASTPass.h
|
|
|
|
|
class RecursiveASTVisitor;
|
|
|
|
|
|
2023-08-17 23:30:34 -03:00
|
|
|
// Parser/SpecParser.h
|
|
|
|
|
class AlgorithmStep;
|
|
|
|
|
class AlgorithmStepList;
|
|
|
|
|
class Algorithm;
|
|
|
|
|
class SpecFunction;
|
|
|
|
|
|
2023-08-20 15:05:48 -03:00
|
|
|
// Function.h
|
|
|
|
|
class ExecutionContext;
|
|
|
|
|
class Function;
|
|
|
|
|
using FunctionRef = Function*;
|
|
|
|
|
|
2023-08-17 23:27:48 -03:00
|
|
|
}
|