Skip to content

Commit f5d0b23

Browse files
committed
Add ClassResolver for Dynamic method
1 parent d8dca7e commit f5d0b23

2 files changed

Lines changed: 14 additions & 3 deletions

File tree

src/Kernel/Mnemonics/_getstatic.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ public function execute(): void
3737
/**
3838
* @var \PHPJava\Core\JavaClass $className
3939
*/
40-
$this->pushStack($classObject);
4140
return;
4241
}
4342
$this->pushStack(new $classObject());

src/Kernel/Mnemonics/_new.php

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,19 @@ public function execute(): void
2121
return;
2222
}
2323

24-
$invokeClassName = ClassResolver::resolve($className);
25-
$this->pushStack(new $invokeClassName());
24+
[$resourceType, $classObject] = ClassResolver::resolve($className);
25+
if ($resourceType === ClassResolver::RESOLVED_TYPE_CLASS) {
26+
/**
27+
* @var \PHPJava\Core\JavaClass $classObject
28+
*/
29+
$this->pushStack(
30+
$classObject
31+
->getInvoker()
32+
->construct()
33+
->getJavaClass()
34+
);
35+
return;
36+
}
37+
$this->pushStack(new $classObject());
2638
}
2739
}

0 commit comments

Comments
 (0)