Pol
Revision:cb584c9
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
userfunc.h
Go to the documentation of this file.
1
7
#ifndef BSCRIPT_USERFUNC_H
8
#define BSCRIPT_USERFUNC_H
9
10
#include <set>
11
#include <string>
12
#include <vector>
13
14
#include "
compctx.h
"
15
#include "
token.h
"
16
17
namespace
Pol
18
{
19
namespace
Bscript
20
{
21
class
UserParam
22
{
23
public
:
24
std::string
name
;
25
int
have_default
;
26
Token
dflt_value
;
27
bool
pass_by_reference
;
28
bool
unused
;
29
30
UserParam
() : name(
""
), have_default( false ), pass_by_reference( false ), unused( false ) {}
31
};
32
33
class
UserFunction
34
{
35
public
:
36
UserFunction
();
37
~
UserFunction
();
38
39
std::string
name
;
40
typedef
std::vector<UserParam>
Parameters
;
41
Parameters
parameters
;
42
unsigned
position
;
43
typedef
std::vector<unsigned>
Addresses
;
44
Addresses
forward_callers
;
45
46
CompilerContext
ctx
;
47
char
*
function_body
;
// FIXME: this is leaked
48
bool
exported
;
49
bool
emitted
;
50
std::string
declaration
;
51
52
public
:
53
static
unsigned
int
instances();
54
static
void
show_instances();
55
56
protected
:
57
static
unsigned
int
_instances
;
58
static
std::set<UserFunction*>
_instancelist
;
59
void
register_instance();
60
void
unregister_instance();
61
};
62
}
63
}
64
#endif
Pol::Bscript::UserParam
Definition:
userfunc.h:21
Pol::Bscript::CompilerContext
Definition:
compctx.h:25
compctx.h
Pol::Bscript::UserFunction
Definition:
userfunc.h:33
Pol::Bscript::UserFunction::parameters
Parameters parameters
Definition:
userfunc.h:41
Pol::Bscript::UserFunction::_instancelist
static std::set< UserFunction * > _instancelist
Definition:
userfunc.h:58
Pol::Bscript::UserFunction::ctx
CompilerContext ctx
Definition:
userfunc.h:46
Pol::Bscript::UserFunction::name
std::string name
Definition:
userfunc.h:39
Pol::Bscript::UserParam::pass_by_reference
bool pass_by_reference
Definition:
userfunc.h:27
Pol::Bscript::UserParam::name
std::string name
Definition:
userfunc.h:24
Pol::Bscript::UserFunction::forward_callers
Addresses forward_callers
Definition:
userfunc.h:44
Pol::Bscript::UserFunction::declaration
std::string declaration
Definition:
userfunc.h:50
Pol::Bscript::UserFunction::function_body
char * function_body
Definition:
userfunc.h:47
Pol::Bscript::Token
Definition:
token.h:36
Pol::Bscript::UserFunction::position
unsigned position
Definition:
userfunc.h:42
Pol::Bscript::UserParam::UserParam
UserParam()
Definition:
userfunc.h:30
Pol::Bscript::UserFunction::Parameters
std::vector< UserParam > Parameters
Definition:
userfunc.h:40
Pol::Bscript::UserParam::dflt_value
Token dflt_value
Definition:
userfunc.h:26
Pol::Bscript::UserParam::unused
bool unused
Definition:
userfunc.h:28
Pol::Bscript::UserFunction::_instances
static unsigned int _instances
Definition:
userfunc.h:57
Pol::Bscript::UserParam::have_default
int have_default
Definition:
userfunc.h:25
Pol::Bscript::UserFunction::Addresses
std::vector< unsigned > Addresses
Definition:
userfunc.h:43
Pol::Bscript::UserFunction::exported
bool exported
Definition:
userfunc.h:48
Pol
Definition:
berror.cpp:12
Pol::Bscript::UserFunction::emitted
bool emitted
Definition:
userfunc.h:49
token.h
bscript
userfunc.h
Generated on Wed Oct 10 2018 02:41:46 for Pol by
1.8.11