polserver/pol-core/bscript/compiler/representation/FunctionReferenceDescriptor.cpp
Kevin Eady 6ed593ac81
Add function reference table to EScriptProgram (#686)
* 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
2024-08-06 20:29:02 +02:00

27 lines
667 B
C++

#include "FunctionReferenceDescriptor.h"
namespace Pol::Bscript::Compiler
{
FunctionReferenceDescriptor::FunctionReferenceDescriptor( int parameter_count, int capture_count,
bool is_variadic )
: parameter_count_( parameter_count ),
capture_count_( capture_count ),
is_variadic_( is_variadic )
{
}
int FunctionReferenceDescriptor::parameter_count() const
{
return parameter_count_;
}
int FunctionReferenceDescriptor::capture_count() const
{
return capture_count_;
}
bool FunctionReferenceDescriptor::is_variadic() const
{
return is_variadic_;
}
} // namespace Pol::Bscript::Compiler