-
Notifications
You must be signed in to change notification settings - Fork 36
Expand file tree
/
Copy pathInnerClasses.php
More file actions
63 lines (53 loc) · 1.38 KB
/
InnerClasses.php
File metadata and controls
63 lines (53 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
declare(strict_types=1);
namespace PHPJava\Kernel\Structures;
/**
* @see https://docs.oracle.com/javase/specs/jvms/se11/html/jvms-4.html#jvms-4.7.6
*/
class InnerClasses implements StructureInterface
{
use \PHPJava\Kernel\Core\BinaryReader;
use \PHPJava\Kernel\Core\ConstantPool;
use \PHPJava\Kernel\Core\DebugTool;
/**
* @var int
*/
private $innerClassInfoIndex = 0;
/**
* @var int
*/
private $outerClassInfoIndex = 0;
/**
* If this class is an anonymous, value is must be zero.
*
* @var int
*/
private $innerNameIndex = 0;
/**
* @var int
*/
private $innerClassAccessFlag = 0;
public function execute(): void
{
$this->innerClassInfoIndex = $this->readUnsignedShort();
$this->outerClassInfoIndex = $this->readUnsignedShort();
$this->innerNameIndex = $this->readUnsignedShort();
$this->innerClassAccessFlag = $this->readUnsignedShort();
}
public function getInnerClassInfoIndex(): int
{
return $this->innerClassInfoIndex;
}
public function getOuterClassInfoIndex(): int
{
return $this->outerClassInfoIndex;
}
public function getInnerNameIndex(): int
{
return $this->innerNameIndex;
}
public function getInnerClassAccessFlag(): int
{
return $this->innerClassAccessFlag;
}
}