mirror of
https://github.com/polserver/polserver
synced 2026-08-13 08:23:08 -04:00
* Introduce FunctionReferenceRegistrar - Track function references created by functors - Remove ValueStack-held attributes for functors - Add Function References section to escript program - Use Function References section in ins_functor - Update escript version * Update listfile snapshots - Remove ValueStack-held attributes created by functors * Add function reference tracking to function references - `emit.function_reference` uses funcref registrar + emits that index - `ins_funcref` uses parameter count + is variadic from prog funcref table - update listfile snapshots * Add core-changes
35 lines
1.5 KiB
C++
35 lines
1.5 KiB
C++
#include "CompiledScript.h"
|
|
|
|
#include <utility>
|
|
|
|
#include "StoredToken.h"
|
|
#include "bscript/compiler/file/SourceFileIdentifier.h"
|
|
#include "bscript/compiler/representation/ExportedFunction.h"
|
|
#include "bscript/compiler/representation/FunctionReferenceDescriptor.h"
|
|
#include "bscript/compiler/representation/ModuleDescriptor.h"
|
|
#include "bscript/compiler/representation/ModuleFunctionDescriptor.h"
|
|
|
|
namespace Pol::Bscript::Compiler
|
|
{
|
|
CompiledScript::CompiledScript( CodeSection code, DataSection data, DebugStore debug,
|
|
ExportedFunctions exported_functions,
|
|
std::vector<std::string> global_variable_names,
|
|
ModuleDescriptors module_descriptors,
|
|
FunctionReferences function_references,
|
|
std::unique_ptr<ProgramInfo> program_info,
|
|
SourceFileIdentifiers source_file_identifiers )
|
|
: code( std::move( code ) ),
|
|
data( std::move( data ) ),
|
|
debug( std::move( debug ) ),
|
|
exported_functions( std::move( exported_functions ) ),
|
|
global_variable_names( std::move( global_variable_names ) ),
|
|
module_descriptors( std::move( module_descriptors ) ),
|
|
function_references( std::move( function_references ) ),
|
|
program_info( std::move( program_info ) ),
|
|
source_file_identifiers( std::move( source_file_identifiers ) )
|
|
{
|
|
}
|
|
|
|
CompiledScript::~CompiledScript() = default;
|
|
|
|
} // namespace Pol::Bscript::Compiler
|