本文整理汇总了Golang中github.com/zxh0/jvm/go/jvmgo/classfile.ClassFile类的典型用法代码示例。如果您正苦于以下问题:Golang ClassFile类的具体用法?Golang ClassFile怎么用?Golang ClassFile使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ClassFile类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: copyMethods
func (self *Class) copyMethods(cf *classfile.ClassFile) {
self.methods = make([]*Method, len(cf.Methods()))
for i, methodInfo := range cf.Methods() {
self.methods[i] = newMethod(self, methodInfo)
self.methods[i].slot = uint(i)
}
}
开发者ID:Rearcher,项目名称:jvm.go,代码行数:7,代码来源:class_factory.go
示例2: newClass
func newClass(cf *classfile.ClassFile) *Class {
class := &Class{}
class.initCond = sync.NewCond(&sync.Mutex{})
class.accessFlags = cf.AccessFlags()
class.copyConstantPool(cf)
class.copyClassNames(cf)
class.copyFields(cf)
class.copyMethods(cf)
class.copyAttributes(cf)
return class
}
开发者ID:Rearcher,项目名称:jvm.go,代码行数:11,代码来源:class_factory.go
示例3: getEnclosingMethod
func getEnclosingMethod(cf *classfile.ClassFile) *EnclosingMethod {
if emAttr := cf.EnclosingMethodAttribute(); emAttr != nil {
methodName, methodDescriptor := emAttr.MethodNameAndDescriptor()
return &EnclosingMethod{
className: emAttr.ClassName(),
methodName: methodName,
methodDescriptor: methodDescriptor,
}
}
return nil
}
开发者ID:Rearcher,项目名称:jvm.go,代码行数:11,代码来源:class_factory.go
示例4: handleClassfile
func handleClassfile(cf *classfile.ClassFile) {
for _, m := range cf.Methods() {
if isNative(m) {
if isStatic(m) {
fmt.Printf("%v.%v%v\n", cf.ClassName(), m.Name(), m.Descriptor())
} else {
fmt.Printf("%v#%v%v\n", cf.ClassName(), m.Name(), m.Descriptor())
}
}
}
}
开发者ID:Rearcher,项目名称:jvm.go,代码行数:11,代码来源:list_native_methods.go
示例5: getSignature
func getSignature(cf *classfile.ClassFile) string {
if sigAttr := cf.SignatureAttribute(); sigAttr != nil {
return sigAttr.Signature()
}
return ""
}
开发者ID:Rearcher,项目名称:jvm.go,代码行数:6,代码来源:class_factory.go
示例6: getSourceFile
func getSourceFile(cf *classfile.ClassFile) string {
if sfAttr := cf.SourceFileAttribute(); sfAttr != nil {
return sfAttr.FileName()
}
return "Unknown" // todo
}
开发者ID:Rearcher,项目名称:jvm.go,代码行数:6,代码来源:class_factory.go
示例7: copyAttributes
func (self *Class) copyAttributes(cf *classfile.ClassFile) {
self.sourceFile = getSourceFile(cf)
self.signature = getSignature(cf)
self.annotationData = cf.RuntimeVisibleAnnotationsAttributeData()
self.enclosingMethod = getEnclosingMethod(cf)
}
开发者ID:Rearcher,项目名称:jvm.go,代码行数:6,代码来源:class_factory.go
示例8: copyFields
func (self *Class) copyFields(cf *classfile.ClassFile) {
self.fields = make([]*Field, len(cf.Fields()))
for i, fieldInfo := range cf.Fields() {
self.fields[i] = newField(self, fieldInfo)
}
}
开发者ID:Rearcher,项目名称:jvm.go,代码行数:6,代码来源:class_factory.go
示例9: copyClassNames
func (self *Class) copyClassNames(cf *classfile.ClassFile) {
self.name = cf.ClassName()
self.superClassName = cf.SuperClassName()
self.interfaceNames = cf.InterfaceNames()
}
开发者ID:Rearcher,项目名称:jvm.go,代码行数:5,代码来源:class_factory.go
示例10: copyConstantPool
func (self *Class) copyConstantPool(cf *classfile.ClassFile) {
self.constantPool = newConstantPool(self, cf.ConstantPool())
}
开发者ID:Rearcher,项目名称:jvm.go,代码行数:3,代码来源:class_factory.go
注:本文中的github.com/zxh0/jvm/go/jvmgo/classfile.ClassFile类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论