Skip to content

Commit f4e9501

Browse files
committed
Update readme
1 parent 36189fb commit f4e9501

4 files changed

Lines changed: 49 additions & 2 deletions

File tree

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ We welcoming to contributions this project 💪
2121
## Not currently supported
2222
Sorry, I do not have enough time (T_T)
2323

24-
- Inner classes
2524
- Annotations
2625
- Extends other class
2726
- Implements

src/Utilities/ClassResolver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public static function resolve(string $javaPath, JavaClass $class = null): array
4040
}
4141
if (is_file($path)) {
4242
$initiatedClass = new JavaClass(new JavaClassReader($path));
43-
if ($class !== null) {
43+
if (strpos($relativePath, '$') !== false && $class !== null) {
4444
$initiatedClass->setParentClass($class);
4545
}
4646
return $resolvedPaths[] = [

tests/InnerClassTest.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
namespace PHPJava\Tests;
3+
4+
use PHPUnit\Framework\TestCase;
5+
6+
class InnerClassTest extends Base
7+
{
8+
protected $fixtures = [
9+
'InnerClassTest',
10+
];
11+
12+
public function testCallMainHavingStringArguments()
13+
{
14+
ob_start();
15+
// call main
16+
$this->initiatedJavaClasses['InnerClassTest']
17+
->getInvoker()
18+
->getStatic()
19+
->getMethods()
20+
->call(
21+
'main',
22+
["Hello", "World"]
23+
);
24+
$result = ob_get_clean();
25+
26+
$this->assertEquals("Hello World", $result);
27+
}
28+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
class InnerClassTest
2+
{
3+
public static void main(String[] args)
4+
{
5+
(new InnerClassTest()).callInnerClass(args[0], args[1]);
6+
}
7+
8+
public void callInnerClass(String a, String b)
9+
{
10+
System.out.print((new InnerClassTestInnerClass()).helloWorld(a, b));
11+
}
12+
13+
public class InnerClassTestInnerClass
14+
{
15+
public String helloWorld(String a, String b)
16+
{
17+
return a + " " + b;
18+
}
19+
}
20+
}

0 commit comments

Comments
 (0)