Skip to content

Commit d07e862

Browse files
committed
Fix the errors when generating new classes
1 parent fabb1e8 commit d07e862

1 file changed

Lines changed: 19 additions & 17 deletions

File tree

src/Generator/ClassGenerator.php

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,12 @@ public function generate(Generator\ClassGenerator $class, PHPClass $type)
7272
$class->setExtendedClass($extends);
7373
}
7474

75-
if ($extends->getName() == "string"
75+
if ($extends !== null && $extends->getName() === "string"
7676
&& $extends->getNamespace() == ""
7777
&& class_exists($type->getNamespace() . '\\String')) {
7878
$extends->setName('String');
7979
$extends->setNamespace($type->getNamespace());
80-
} elseif ($extends->getName() == "string"
80+
} elseif ($extends !== null && $extends->getName() === "string"
8181
&& $extends->getNamespace() == ""
8282
&& class_exists(($type->getNamespace()))) {
8383
$extendNamespace = $type->getNamespace();
@@ -100,15 +100,17 @@ public function generate(Generator\ClassGenerator $class, PHPClass $type)
100100
$class->setName($type->getName());
101101
$class->setDocblock($docblock);
102102

103-
$class->setExtendedClass($extends->getName());
103+
if ($extends !== null) {
104+
$class->setExtendedClass($extends->getName());
104105

105-
if ($extends->getNamespace() != $type->getNamespace()) {
106-
if ($extends->getName() == $type->getName()) {
107-
$class->addUse($type->getExtends()
108-
->getFullName(), $extends->getName() . "Base");
109-
$class->setExtendedClass($extends->getName() . "Base");
110-
} else {
111-
$class->addUse($extends->getFullName());
106+
if ($extends->getNamespace() != $type->getNamespace()) {
107+
if ($extends->getName() == $type->getName()) {
108+
$class->addUse($type->getExtends()
109+
->getFullName(), $extends->getName() . "Base");
110+
$class->setExtendedClass($extends->getName() . "Base");
111+
} else {
112+
$class->addUse($extends->getFullName());
113+
}
112114
}
113115
}
114116

@@ -407,16 +409,16 @@ protected function handleSetter(Generator\ClassGenerator $generator, PHPProperty
407409

408410
$currentClass = $classReflection->getExtendedClass();
409411
}
410-
}
411412

412-
$temporaryType = $classReflection->getName();
413-
if (substr($type, -2) === "[]") {
414-
$temporaryType .= "[]";
415-
}
413+
$temporaryType = $classReflection->getName();
414+
if (substr($type, -2) === "[]") {
415+
$temporaryType .= "[]";
416+
}
416417

417-
$namespaceClass = $temporaryType;
418+
$namespaceClass = $temporaryType;
418419

419-
$type = $namespace . "\\" . $namespaceClass;
420+
$type = $namespace . "\\" . $namespaceClass;
421+
}
420422
}
421423

422424
if ($namespace == $class->getNamespace() || $namespace == "\\" . $class->getNamespace()) {

0 commit comments

Comments
 (0)