OpenClonk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
C4AulDefFunc Class Reference

#include <C4AulDefFunc.h>

Inheritance diagram for C4AulDefFunc:
[legend]
Collaboration diagram for C4AulDefFunc:
[legend]

Public Member Functions

 C4AulDefFunc (C4PropListStatic *Parent, C4ScriptFnDef *pDef)
 
 ~C4AulDefFunc ()
 
virtual bool GetPublic () const
 
virtual const C4V_TypeGetParType () const
 
virtual C4V_Type GetRetType () const
 
virtual C4Value Exec (C4PropList *p, C4Value pPars[], bool fPassErrors=false)
 

Public Attributes

C4ScriptFnDefDef
 

Private Member Functions

const char * GetName () const
 
virtual StdStrBuf GetFullName () const
 
virtual C4AulScriptFuncSFunc ()
 
virtual int GetParCount () const
 
C4Value Exec (C4PropList *p=nullptr, C4AulParSet *pPars=nullptr, bool fPassErrors=false)
 
bool CheckParTypes (const C4Value pPars[], bool fPassErrors) const
 
void IncRef ()
 
void DecRef ()
 

Private Attributes

C4PropListStaticParent
 
C4RefCntPointer< C4StringName
 
C4AulFuncMapNext
 
unsigned int RefCnt
 

Detailed Description

Definition at line 285 of file C4AulDefFunc.h.

Constructor & Destructor Documentation

C4AulDefFunc::C4AulDefFunc ( C4PropListStatic Parent,
C4ScriptFnDef pDef 
)

Definition at line 112 of file C4Script.cpp.

References C4VFunction(), C4AulFunc::Name, and C4PropList::SetPropertyByS().

112  :
113  C4AulFunc(Parent, pDef->Identifier), Def(pDef)
114 {
115  Parent->SetPropertyByS(Name, C4VFunction(this));
116 }
C4AulFunc(C4PropListStatic *Parent, const char *pName)
Definition: C4AulFunc.cpp:22
const char * Identifier
Definition: C4AulDefFunc.h:277
C4ScriptFnDef * Def
Definition: C4AulDefFunc.h:288
C4Value C4VFunction(C4AulFunc *pFn)
Definition: C4Value.h:250
virtual void SetPropertyByS(C4String *k, const C4Value &to)
Definition: C4PropList.cpp:929
C4RefCntPointer< C4String > Name
Definition: C4AulFunc.h:61

Here is the call graph for this function:

C4AulDefFunc::~C4AulDefFunc ( )

Definition at line 118 of file C4Script.cpp.

119 {
120 }

Member Function Documentation

C4Value C4AulDefFunc::Exec ( C4PropList p,
C4Value  pPars[],
bool  fPassErrors = false 
)
virtual

Implements C4AulFunc.

Definition at line 122 of file C4Script.cpp.

References Def, and C4ScriptFnDef::FunctionC4V.

123 {
124  assert(Def->FunctionC4V);
125  return Def->FunctionC4V(p, pPars);
126 }
C4Value(* FunctionC4V)(C4PropList *_this, C4Value *)
Definition: C4AulDefFunc.h:281
C4ScriptFnDef * Def
Definition: C4AulDefFunc.h:288
virtual const C4V_Type* C4AulDefFunc::GetParType ( ) const
inlinevirtual

Implements C4AulFunc.

Definition at line 294 of file C4AulDefFunc.h.

References C4ScriptFnDef::ParType.

294 { return Def->ParType; }
C4V_Type ParType[10]
Definition: C4AulDefFunc.h:280
C4ScriptFnDef * Def
Definition: C4AulDefFunc.h:288
virtual bool C4AulDefFunc::GetPublic ( ) const
inlinevirtual

Reimplemented from C4AulFunc.

Definition at line 293 of file C4AulDefFunc.h.

References C4ScriptFnDef::Public.

293 { return !!Def->Public; }
C4ScriptFnDef * Def
Definition: C4AulDefFunc.h:288
virtual C4V_Type C4AulDefFunc::GetRetType ( ) const
inlinevirtual

Implements C4AulFunc.

Definition at line 295 of file C4AulDefFunc.h.

References C4ScriptFnDef::RetType.

295 { return Def->RetType; }
C4ScriptFnDef * Def
Definition: C4AulDefFunc.h:288
C4V_Type RetType
Definition: C4AulDefFunc.h:279

Member Data Documentation

C4ScriptFnDef* C4AulDefFunc::Def

Definition at line 288 of file C4AulDefFunc.h.

Referenced by Exec().


The documentation for this class was generated from the following files: