mirror of
https://github.com/RGBCube/serenity
synced 2025-05-16 19:15:07 +00:00

Currently, they are not extremely useful, but the plan is to store all function-local state in JSSpecCompiler::Function and all "translation unit" state in ExecutionContext.
51 lines
950 B
C++
51 lines
950 B
C++
/*
|
|
* 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;
|
|
|
|
class Node;
|
|
using NullableTree = RefPtr<Node>;
|
|
using Tree = NonnullRefPtr<Node>;
|
|
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<FunctionPointer>;
|
|
|
|
// Parser/SpecParser.h
|
|
class AlgorithmStep;
|
|
class AlgorithmStepList;
|
|
class Algorithm;
|
|
class SpecFunction;
|
|
|
|
// Function.h
|
|
class ExecutionContext;
|
|
class Function;
|
|
using FunctionRef = Function*;
|
|
|
|
}
|