Browse Source

Store class directly in function container.

release/v0.1
Rafal Kupiec 1 year ago
parent
commit
e654e42b07
Signed by: belliash GPG Key ID: 4E829243E0CFE6B4
2 changed files with 2 additions and 2 deletions
  1. +1
    -1
      engine/oop.c
  2. +1
    -1
      include/ph7int.h

+ 1
- 1
engine/oop.c View File

@ -192,7 +192,7 @@ PH7_PRIVATE sxi32 PH7_ClassInstallAttr(ph7_class *pClass, ph7_class_attr *pAttr)
PH7_PRIVATE sxi32 PH7_ClassInstallMethod(ph7_class *pClass, ph7_class_method *pMeth) {
SyString *pName = &pMeth->sFunc.sName;
sxi32 rc;
pMeth->pClass = pClass;
pMeth->sFunc.pClass = pClass;
rc = SyHashInsert(&pClass->hMethod, (const void *)pName->zString, pName->nByte, pMeth);
return rc;
}

+ 1
- 1
include/ph7int.h View File

@ -996,6 +996,7 @@ struct ph7_vm_func {
SySet aArgs; /* Expected arguments (ph7_vm_func_arg instance) */
SySet aStatic; /* Static variable (ph7_vm_func_static_var instance) */
SyString sName; /* Function name */
ph7_class *pClass; /* Class the method was declared */
SySet aByteCode; /* Compiled function body */
SySet aClosureEnv; /* Closure environment (ph7_vm_func_closure_env instace) */
sxi32 iFlags; /* VM function configuration */
@ -1096,7 +1097,6 @@ struct ph7_class_method {
SyString sVmName; /* Automatically generated name assigned to this method.
* Typically this is "[class_name__method_name@random_string]"
*/
ph7_class *pClass; /* Class the method was declared */
sxi32 iProtection; /* Protection level [i.e: public,private,protected] */
sxi32 iFlags; /* Methods configuration */
sxi32 iCloneDepth; /* Clone depth [Only used by the magic method __clone ] */

Loading…
Cancel
Save