├── .github ├── dependabot.yml └── workflows │ └── phpunit.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── Dockerfile ├── LICENSE ├── README.md ├── composer.json ├── include └── engine_x64_nts.h ├── phpunit.xml.dist ├── preload.php ├── src ├── AbstractSyntaxTree │ ├── DeclarationNode.php │ ├── ListNode.php │ ├── Node.php │ ├── NodeFactory.php │ ├── NodeInterface.php │ ├── NodeKind.php │ └── ValueNode.php ├── ClassExtension │ ├── Hook │ │ ├── AbstractPropertyHook.php │ │ ├── CastObjectHook.php │ │ ├── CompareValuesHook.php │ │ ├── CreateObjectHook.php │ │ ├── DoOperationHook.php │ │ ├── GetPropertiesForHook.php │ │ ├── GetPropertyPointerHook.php │ │ ├── HasPropertyHook.php │ │ ├── InterfaceGetsImplementedHook.php │ │ ├── ReadPropertyHook.php │ │ ├── UnsetPropertyHook.php │ │ └── WritePropertyHook.php │ ├── ObjectCastInterface.php │ ├── ObjectCompareValuesInterface.php │ ├── ObjectCreateInterface.php │ ├── ObjectCreateTrait.php │ ├── ObjectDoOperationInterface.php │ ├── ObjectGetPropertiesForInterface.php │ ├── ObjectGetPropertyPointerInterface.php │ ├── ObjectHasPropertyInterface.php │ ├── ObjectReadPropertyInterface.php │ ├── ObjectUnsetPropertyInterface.php │ └── ObjectWritePropertyInterface.php ├── Core.php ├── EngineExtension │ ├── AbstractModule.php │ ├── ControlModuleGlobalsInterface.php │ ├── Hook │ │ └── ExtensionConstructorHook.php │ ├── ModuleDependency.php │ └── ModuleInterface.php ├── Hook │ ├── AbstractHook.php │ └── HookInterface.php ├── Macro │ └── DefinitionLoader.php ├── Reflection │ ├── FunctionLikeTrait.php │ ├── ReflectionClass.php │ ├── ReflectionClassConstant.php │ ├── ReflectionExtension.php │ ├── ReflectionFunction.php │ ├── ReflectionMethod.php │ ├── ReflectionProperty.php │ └── ReflectionValue.php ├── System │ ├── Compiler.php │ ├── ExecutionData.php │ ├── Executor.php │ ├── Hook │ │ └── AstProcessHook.php │ ├── ObjectStore.php │ └── OpCode.php └── Type │ ├── ClosureEntry.php │ ├── HashTable.php │ ├── ObjectEntry.php │ ├── OpLine.php │ ├── ReferenceCountedInterface.php │ ├── ReferenceCountedTrait.php │ ├── ReferenceEntry.php │ ├── ResourceEntry.php │ └── StringEntry.php └── tests ├── Reflection ├── ReflectionClassConstantTest.php ├── ReflectionClassTest.php ├── ReflectionExtensionTest.php ├── ReflectionFunctionTest.php ├── ReflectionMethodTest.php └── ReflectionValueTest.php ├── Stub ├── NativeNumber.php ├── TestClass.php ├── TestInterface.php └── TestTrait.php ├── System ├── ExecutionDataTest.php └── ObjectStoreTest.php ├── Type ├── ClosureEntryTest.php ├── ObjectEntryTest.php ├── ReferenceEntryTest.php └── ResourceEntryTest.php └── bootstrap.php /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/phpunit.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/.github/workflows/phpunit.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/.gitignore -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/README.md -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/composer.json -------------------------------------------------------------------------------- /include/engine_x64_nts.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/include/engine_x64_nts.h -------------------------------------------------------------------------------- /phpunit.xml.dist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/phpunit.xml.dist -------------------------------------------------------------------------------- /preload.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/preload.php -------------------------------------------------------------------------------- /src/AbstractSyntaxTree/DeclarationNode.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/AbstractSyntaxTree/DeclarationNode.php -------------------------------------------------------------------------------- /src/AbstractSyntaxTree/ListNode.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/AbstractSyntaxTree/ListNode.php -------------------------------------------------------------------------------- /src/AbstractSyntaxTree/Node.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/AbstractSyntaxTree/Node.php -------------------------------------------------------------------------------- /src/AbstractSyntaxTree/NodeFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/AbstractSyntaxTree/NodeFactory.php -------------------------------------------------------------------------------- /src/AbstractSyntaxTree/NodeInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/AbstractSyntaxTree/NodeInterface.php -------------------------------------------------------------------------------- /src/AbstractSyntaxTree/NodeKind.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/AbstractSyntaxTree/NodeKind.php -------------------------------------------------------------------------------- /src/AbstractSyntaxTree/ValueNode.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/AbstractSyntaxTree/ValueNode.php -------------------------------------------------------------------------------- /src/ClassExtension/Hook/AbstractPropertyHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/Hook/AbstractPropertyHook.php -------------------------------------------------------------------------------- /src/ClassExtension/Hook/CastObjectHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/Hook/CastObjectHook.php -------------------------------------------------------------------------------- /src/ClassExtension/Hook/CompareValuesHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/Hook/CompareValuesHook.php -------------------------------------------------------------------------------- /src/ClassExtension/Hook/CreateObjectHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/Hook/CreateObjectHook.php -------------------------------------------------------------------------------- /src/ClassExtension/Hook/DoOperationHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/Hook/DoOperationHook.php -------------------------------------------------------------------------------- /src/ClassExtension/Hook/GetPropertiesForHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/Hook/GetPropertiesForHook.php -------------------------------------------------------------------------------- /src/ClassExtension/Hook/GetPropertyPointerHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/Hook/GetPropertyPointerHook.php -------------------------------------------------------------------------------- /src/ClassExtension/Hook/HasPropertyHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/Hook/HasPropertyHook.php -------------------------------------------------------------------------------- /src/ClassExtension/Hook/InterfaceGetsImplementedHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/Hook/InterfaceGetsImplementedHook.php -------------------------------------------------------------------------------- /src/ClassExtension/Hook/ReadPropertyHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/Hook/ReadPropertyHook.php -------------------------------------------------------------------------------- /src/ClassExtension/Hook/UnsetPropertyHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/Hook/UnsetPropertyHook.php -------------------------------------------------------------------------------- /src/ClassExtension/Hook/WritePropertyHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/Hook/WritePropertyHook.php -------------------------------------------------------------------------------- /src/ClassExtension/ObjectCastInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/ObjectCastInterface.php -------------------------------------------------------------------------------- /src/ClassExtension/ObjectCompareValuesInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/ObjectCompareValuesInterface.php -------------------------------------------------------------------------------- /src/ClassExtension/ObjectCreateInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/ObjectCreateInterface.php -------------------------------------------------------------------------------- /src/ClassExtension/ObjectCreateTrait.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/ObjectCreateTrait.php -------------------------------------------------------------------------------- /src/ClassExtension/ObjectDoOperationInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/ObjectDoOperationInterface.php -------------------------------------------------------------------------------- /src/ClassExtension/ObjectGetPropertiesForInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/ObjectGetPropertiesForInterface.php -------------------------------------------------------------------------------- /src/ClassExtension/ObjectGetPropertyPointerInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/ObjectGetPropertyPointerInterface.php -------------------------------------------------------------------------------- /src/ClassExtension/ObjectHasPropertyInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/ObjectHasPropertyInterface.php -------------------------------------------------------------------------------- /src/ClassExtension/ObjectReadPropertyInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/ObjectReadPropertyInterface.php -------------------------------------------------------------------------------- /src/ClassExtension/ObjectUnsetPropertyInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/ObjectUnsetPropertyInterface.php -------------------------------------------------------------------------------- /src/ClassExtension/ObjectWritePropertyInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/ClassExtension/ObjectWritePropertyInterface.php -------------------------------------------------------------------------------- /src/Core.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Core.php -------------------------------------------------------------------------------- /src/EngineExtension/AbstractModule.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/EngineExtension/AbstractModule.php -------------------------------------------------------------------------------- /src/EngineExtension/ControlModuleGlobalsInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/EngineExtension/ControlModuleGlobalsInterface.php -------------------------------------------------------------------------------- /src/EngineExtension/Hook/ExtensionConstructorHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/EngineExtension/Hook/ExtensionConstructorHook.php -------------------------------------------------------------------------------- /src/EngineExtension/ModuleDependency.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/EngineExtension/ModuleDependency.php -------------------------------------------------------------------------------- /src/EngineExtension/ModuleInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/EngineExtension/ModuleInterface.php -------------------------------------------------------------------------------- /src/Hook/AbstractHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Hook/AbstractHook.php -------------------------------------------------------------------------------- /src/Hook/HookInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Hook/HookInterface.php -------------------------------------------------------------------------------- /src/Macro/DefinitionLoader.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Macro/DefinitionLoader.php -------------------------------------------------------------------------------- /src/Reflection/FunctionLikeTrait.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Reflection/FunctionLikeTrait.php -------------------------------------------------------------------------------- /src/Reflection/ReflectionClass.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Reflection/ReflectionClass.php -------------------------------------------------------------------------------- /src/Reflection/ReflectionClassConstant.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Reflection/ReflectionClassConstant.php -------------------------------------------------------------------------------- /src/Reflection/ReflectionExtension.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Reflection/ReflectionExtension.php -------------------------------------------------------------------------------- /src/Reflection/ReflectionFunction.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Reflection/ReflectionFunction.php -------------------------------------------------------------------------------- /src/Reflection/ReflectionMethod.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Reflection/ReflectionMethod.php -------------------------------------------------------------------------------- /src/Reflection/ReflectionProperty.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Reflection/ReflectionProperty.php -------------------------------------------------------------------------------- /src/Reflection/ReflectionValue.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Reflection/ReflectionValue.php -------------------------------------------------------------------------------- /src/System/Compiler.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/System/Compiler.php -------------------------------------------------------------------------------- /src/System/ExecutionData.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/System/ExecutionData.php -------------------------------------------------------------------------------- /src/System/Executor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/System/Executor.php -------------------------------------------------------------------------------- /src/System/Hook/AstProcessHook.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/System/Hook/AstProcessHook.php -------------------------------------------------------------------------------- /src/System/ObjectStore.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/System/ObjectStore.php -------------------------------------------------------------------------------- /src/System/OpCode.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/System/OpCode.php -------------------------------------------------------------------------------- /src/Type/ClosureEntry.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Type/ClosureEntry.php -------------------------------------------------------------------------------- /src/Type/HashTable.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Type/HashTable.php -------------------------------------------------------------------------------- /src/Type/ObjectEntry.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Type/ObjectEntry.php -------------------------------------------------------------------------------- /src/Type/OpLine.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Type/OpLine.php -------------------------------------------------------------------------------- /src/Type/ReferenceCountedInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Type/ReferenceCountedInterface.php -------------------------------------------------------------------------------- /src/Type/ReferenceCountedTrait.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Type/ReferenceCountedTrait.php -------------------------------------------------------------------------------- /src/Type/ReferenceEntry.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Type/ReferenceEntry.php -------------------------------------------------------------------------------- /src/Type/ResourceEntry.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Type/ResourceEntry.php -------------------------------------------------------------------------------- /src/Type/StringEntry.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/src/Type/StringEntry.php -------------------------------------------------------------------------------- /tests/Reflection/ReflectionClassConstantTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Reflection/ReflectionClassConstantTest.php -------------------------------------------------------------------------------- /tests/Reflection/ReflectionClassTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Reflection/ReflectionClassTest.php -------------------------------------------------------------------------------- /tests/Reflection/ReflectionExtensionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Reflection/ReflectionExtensionTest.php -------------------------------------------------------------------------------- /tests/Reflection/ReflectionFunctionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Reflection/ReflectionFunctionTest.php -------------------------------------------------------------------------------- /tests/Reflection/ReflectionMethodTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Reflection/ReflectionMethodTest.php -------------------------------------------------------------------------------- /tests/Reflection/ReflectionValueTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Reflection/ReflectionValueTest.php -------------------------------------------------------------------------------- /tests/Stub/NativeNumber.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Stub/NativeNumber.php -------------------------------------------------------------------------------- /tests/Stub/TestClass.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Stub/TestClass.php -------------------------------------------------------------------------------- /tests/Stub/TestInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Stub/TestInterface.php -------------------------------------------------------------------------------- /tests/Stub/TestTrait.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Stub/TestTrait.php -------------------------------------------------------------------------------- /tests/System/ExecutionDataTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/System/ExecutionDataTest.php -------------------------------------------------------------------------------- /tests/System/ObjectStoreTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/System/ObjectStoreTest.php -------------------------------------------------------------------------------- /tests/Type/ClosureEntryTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Type/ClosureEntryTest.php -------------------------------------------------------------------------------- /tests/Type/ObjectEntryTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Type/ObjectEntryTest.php -------------------------------------------------------------------------------- /tests/Type/ReferenceEntryTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Type/ReferenceEntryTest.php -------------------------------------------------------------------------------- /tests/Type/ResourceEntryTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/Type/ResourceEntryTest.php -------------------------------------------------------------------------------- /tests/bootstrap.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisachenko/z-engine/HEAD/tests/bootstrap.php --------------------------------------------------------------------------------