Documentation ¶
Index ¶
- Constants
- type Class
- func (self *Class) ConstantPool() *ConstantPool
- func (self *Class) GetMainMethod() *Method
- func (self *Class) IsAbstract() bool
- func (self *Class) IsAnnotation() bool
- func (self *Class) IsEnum() bool
- func (self *Class) IsFinal() bool
- func (self *Class) IsInterface() bool
- func (self *Class) IsPublic() bool
- func (self *Class) IsSuper() bool
- func (self *Class) IsSynthetic() bool
- func (self *Class) NewObject() *Object
- func (self *Class) StaticVars() Slots
- type ClassLoader
- type ClassMember
- func (self *ClassMember) Class() *Class
- func (self *ClassMember) Descriptor() string
- func (self *ClassMember) IsFinal() bool
- func (self *ClassMember) IsPrivate() bool
- func (self *ClassMember) IsProtected() bool
- func (self *ClassMember) IsPublic() bool
- func (self *ClassMember) IsStatic() bool
- func (self *ClassMember) IsSynthetic() bool
- func (self *ClassMember) Name() string
- type ClassRef
- type Constant
- type ConstantPool
- type Field
- type FieldRef
- type InterfaceMethodRef
- type MemberRef
- type Method
- func (self *Method) Code() []byte
- func (self *Method) IsAbstract() bool
- func (self *Method) IsBridge() bool
- func (self *Method) IsNative() bool
- func (self *Method) IsStrict() bool
- func (self *Method) IsSynchronized() bool
- func (self *Method) IsVarargs() bool
- func (self *Method) MaxLocals() uint
- func (self *Method) MaxStack() uint
- type MethodRef
- type Object
- type SlotCopy
- type Slots
- func (self Slots) GetDouble(index uint) float64
- func (self Slots) GetFloat(index uint) float32
- func (self Slots) GetInt(index uint) int32
- func (self Slots) GetLong(index uint) int64
- func (self Slots) GetRef(index uint) *Object
- func (self Slots) SetDouble(index uint, val float64)
- func (self Slots) SetFloat(index uint, val float32)
- func (self Slots) SetInt(index uint, val int32)
- func (self Slots) SetLong(index uint, val int64)
- func (self Slots) SetRef(index uint, ref *Object)
- type SymRef
Constants ¶
View Source
const ( ACC_PUBLIC = 0x0001 // class field method ACC_PRIVATE = 0x0002 // field method ACC_PROTECTED = 0x0004 // field method ACC_STATIC = 0x0008 // field method ACC_FINAL = 0x0010 // class field method ACC_SUPER = 0x0020 // class ACC_SYNCHRONIZED = 0x0020 // method ACC_VOLATILE = 0x0040 // field ACC_BRIDGE = 0x0040 // method ACC_TRANSIENT = 0x0080 // field ACC_VARARGS = 0x0080 // method ACC_NATIVE = 0x0100 // method ACC_INTERFACE = 0x0200 // class ACC_ABSTRACT = 0x0400 // class method ACC_STRICT = 0x0800 // method ACC_SYNTHETIC = 0x1000 // class field method ACC_ANNOTATION = 0x2000 // class ACC_ENUM = 0x4000 // class field )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Class ¶
type Class struct {
// contains filtered or unexported fields
}
name, superClassName and interfaceNames are all binary names(jvms8-4.2.1)
func (*Class) GetMainMethod ¶
func (*Class) IsAbstract ¶
func (*Class) IsAnnotation ¶
func (*Class) IsInterface ¶
func (*Class) IsSynthetic ¶
func (*Class) StaticVars ¶
type ClassLoader ¶
type ClassLoader struct {
// contains filtered or unexported fields
}
class names:
- primitive types: boolean, byte, int ...
- primitive arrays: [Z, [B, [I ...
- non-array classes: java/lang/Object ...
- array classes: [Ljava/lang/Object; ...
func NewClassLoader ¶
func NewClassLoader(cp *classpath.Classpath) *ClassLoader
func (*ClassLoader) LoadClass ¶
func (self *ClassLoader) LoadClass(name string) *Class
type ClassMember ¶
type ClassMember struct {
// contains filtered or unexported fields
}
func (*ClassMember) Class ¶
func (self *ClassMember) Class() *Class
func (*ClassMember) Descriptor ¶
func (self *ClassMember) Descriptor() string
func (*ClassMember) IsFinal ¶
func (self *ClassMember) IsFinal() bool
func (*ClassMember) IsPrivate ¶
func (self *ClassMember) IsPrivate() bool
func (*ClassMember) IsProtected ¶
func (self *ClassMember) IsProtected() bool
func (*ClassMember) IsPublic ¶
func (self *ClassMember) IsPublic() bool
func (*ClassMember) IsStatic ¶
func (self *ClassMember) IsStatic() bool
func (*ClassMember) IsSynthetic ¶
func (self *ClassMember) IsSynthetic() bool
type ConstantPool ¶
type ConstantPool struct {
// contains filtered or unexported fields
}
func (*ConstantPool) GetConstant ¶
func (self *ConstantPool) GetConstant(index uint) Constant
type Field ¶
type Field struct { ClassMember // contains filtered or unexported fields }
func (*Field) ConstValueIndex ¶
func (*Field) IsTransient ¶
func (*Field) IsVolatile ¶
type FieldRef ¶
type FieldRef struct { MemberRef // contains filtered or unexported fields }
func (*FieldRef) ResolvedField ¶
type InterfaceMethodRef ¶
type InterfaceMethodRef struct { MemberRef // contains filtered or unexported fields }
func (*InterfaceMethodRef) ResolvedInterfaceMethod ¶
func (self *InterfaceMethodRef) ResolvedInterfaceMethod() *Method
type MemberRef ¶
type MemberRef struct { SymRef // contains filtered or unexported fields }
func (*MemberRef) Descriptor ¶
type Method ¶
type Method struct { ClassMember // contains filtered or unexported fields }
func (*Method) IsAbstract ¶
func (*Method) IsSynchronized ¶
type MethodRef ¶
type MethodRef struct { MemberRef // contains filtered or unexported fields }
func (*MethodRef) ResolvedMethod ¶
type Object ¶
type Object struct {
// contains filtered or unexported fields
}
func (*Object) IsInstanceOf ¶
type SlotCopy ¶
type SlotCopy struct {
// contains filtered or unexported fields
}
本项目中rtda包已经依赖了heap包,而go语言的包又不能互相依赖,所以本heap包无法导入rtda包,否则编辑器会报错。 FIXME 临时解决go的互相依赖/引用问题 拷贝自rtda的slot和localVars的相关代码。
Click to show internal directories.
Click to hide internal directories.