fullyQualifiedName = $fullyQualifiedName; parent::__construct($shortName, $types); } public function isSuperTypeOf(Type $type) : TrinaryLogic { $genericObjectType = new GenericObjectType($this->fullyQualifiedName, $this->getTypes()); return $genericObjectType->isSuperTypeOf($type); } public function getShortName() : string { return $this->getClassName(); } }