-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathattribute_stackframe.go
More file actions
80 lines (66 loc) · 2.4 KB
/
attribute_stackframe.go
File metadata and controls
80 lines (66 loc) · 2.4 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package parser
type AttributeStackMapTable struct {
Entries []StackMapFrame
}
func (a *AttributeStackMapTable) Name() string {
return "StackMapTable"
}
type StackMapFrame interface{}
type StackMapFrameSameFrame struct {
FrameType uint8
}
type StackMapFrameSameLocals1StackItemFrame struct {
FrameType uint8
stack VerificationTypeInfo
}
type StackMapFrameSameLocals1StackItemFrameExtended struct {
FrameType uint8
OffsetDelta uint16
stack VerificationTypeInfo
}
type StackMapFrameChopFrame struct {
FrameType uint8
OffsetDelta uint16
}
type StackMapFrameSameFrameExtended struct {
FrameType uint8
OffsetDelta uint16
}
type StackMapFrameAppendFrame struct {
FrameType uint8
OffsetDelta uint16
Locals []VerificationTypeInfo
}
type StackMapFrameFullFrame struct {
FrameType uint8
OffsetDelta uint16
Locals []VerificationTypeInfo
Stacks []VerificationTypeInfo
}
type VerificationTypeInfo interface{}
var (
_verificationTypeInfoTopVaribleInfo = &VerificationTypeInfoDoubleVaribleInfo{} //nolint:gochecknoglobals
_verificationTypeInfoIntegerVaribleInfo = &VerificationTypeInfoIntegerVaribleInfo{} //nolint:gochecknoglobals
_verificationTypeInfoFloatVaribleInfo = &VerificationTypeInfoIntegerVaribleInfo{} //nolint:gochecknoglobals
_verificationTypeInfoNullVaribleInfo = &VerificationTypeInfoNullVaribleInfo{} //nolint:gochecknoglobals
_verificationTypeInfoUninitializedThisVaribleInfo = &VerificationTypeInfoUninitializedThisVaribleInfo{} //nolint:gochecknoglobals
_verificationTypeInfoLongVaribleInfo = &VerificationTypeInfoLongVaribleInfo{} //nolint:gochecknoglobals
_verificationTypeInfoDoubleVaribleInfo = &VerificationTypeInfoDoubleVaribleInfo{} //nolint:gochecknoglobals
)
type (
VerificationTypeInfoTopVaribleInfo struct{}
VerificationTypeInfoIntegerVaribleInfo struct{}
VerificationTypeInfoFloatVaribleInfo struct{}
VerificationTypeInfoNullVaribleInfo struct{}
VerificationTypeInfoUninitializedThisVaribleInfo struct{}
VerificationTypeInfoObjectVaribleInfo struct {
CpoolIndex uint16
}
)
type VerificationTypeInfoUninitializedVaribleInfo struct {
Offset uint16
}
type (
VerificationTypeInfoLongVaribleInfo struct{}
VerificationTypeInfoDoubleVaribleInfo struct{}
)