public function createObjectProperty(TES5MultipleScriptsScope $multipleScriptsScope, TES5Referencer $reference, $propertyName) { $this->typeInferencer->inferenceVariableByReferenceEdid($reference->getReferencesTo(), $multipleScriptsScope); $remoteProperty = $multipleScriptsScope->getPropertyFromScript($reference->getReferencesTo()->getPropertyType()->value(), $propertyName); $objectProperty = new TES5ObjectProperty($reference, $remoteProperty); return $objectProperty; }
public function inferenceObjectByAssignation(TES5Referencer $reference, TES5Value $value, TES5MultipleScriptsScope $multipleScriptsScope) { if ($reference->getReferencesTo() !== null && !$reference->getType()->isPrimitive()) { $this->inferenceType($reference->getReferencesTo(), $value->getType()->getNativeType(), $multipleScriptsScope); } }