def cli_simplify_classinfo(options, info, data=None): from javatools import platform_from_version if data is None: data = dict() if options.class_provides: data["class_provides"] = info.get_provides(options.api_ignore) if options.class_requires: data["class_requires"] = info.get_requires(options.api_ignore) data["name"] = info.pretty_this() data["extends"] = info.pretty_super() data["implements"] = tuple(info.pretty_interfaces()) data["source_file"] = info.get_sourcefile() ifonly(data, "signature", info.get_signature()) ifonly(data, "enclosing_method", info.get_enclosingmethod()) data["version"] = info.get_version() data["platform"] = platform_from_version(*info.version) if options.constpool: data["constants_pool"] = tuple(info.cpool.pretty_constants()) data["fields"] = cli_simplify_fields(options, info) data["methods"] = cli_simplify_methods(options, info) return data
def cli_simplify_classinfo(options, info, data=None): if data is None: data = dict() if options.class_provides: data["class_provides"] = info.get_provides(options.api_ignore) if options.class_requires: data["class_requires"] = info.get_requires(options.api_ignore) data["name"] = info.pretty_this() data["extends"] = info.pretty_super() data["implements"] = tuple(info.pretty_interfaces()) data["source_file"] = info.get_sourcefile() ifonly(data, "signature", info.get_signature()) ifonly(data, "enclosing_method", info.get_enclosingmethod()) data["version"] = info.get_version() data["platform"] = platform_from_version(*info.version) if options.constpool: data["constants_pool"] = tuple(info.cpool.pretty_constants()) data["fields"] = cli_simplify_fields(options, info) data["methods"] = cli_simplify_methods(options, info) return data
def cli_print_classinfo(options, info): from javatools import platform_from_version if options.class_provides or options.class_requires: if options.class_provides: cli_class_provides(options, info) if options.class_requires: cli_class_requires(options, info) return sourcefile = info.get_sourcefile() if sourcefile: print "Compiled from \"%s\"" % sourcefile print info.pretty_descriptor(), if options.verbose or options.show == HEADER: print if info.get_sourcefile(): print " SourceFile: \"%s\"" % info.get_sourcefile() if info.get_signature(): print " Signature:", info.get_signature() if info.get_annotations(): print " RuntimeVisibleAnnotations:" index = 0 for anno in info.get_annotations(): print " %i: %s" % index, anno.pretty_annotation() if info.get_enclosingmethod(): print " EnclosingMethod:", info.get_enclosingmethod() major, minor = info.get_version() print " minor version:", major print " major version:", minor platform = platform_from_version(*info.version) or "unknown" print " Platform:", platform if options.constpool: print " Constants pool:" # we don't use the info.pretty_constants() generator here # because we actually want numbers for the entries, and that # generator skips them. cpool = info.cpool for i in xrange(1, len(cpool.consts)): t, v = cpool.pretty_const(i) if t: # skipping the None consts, which would be the entries # comprising the second half of a long or double value print "const #%i = %s\t%s;" % (i, t, v) print if options.show == HEADER: return print "{" for field in info.fields: if should_show(options, field): print_field(options, field) for method in info.methods: if should_show(options, method): print_method(options, method) print "}" print return 0
def cli_print_classinfo(options, info): if options.class_provides or options.class_requires: if options.class_provides: cli_class_provides(options, info) if options.class_requires: cli_class_requires(options, info) return sourcefile = info.get_sourcefile() if sourcefile: print("Compiled from \"%s\"" % sourcefile) print(info.pretty_descriptor()) if options.verbose or options.show == SHOW_HEADER: print("") if info.get_sourcefile(): print(" SourceFile: \"%s\"" % info.get_sourcefile()) if info.get_signature(): print(" Signature:", info.get_signature()) if info.get_annotations(): print(" RuntimeVisibleAnnotations:") index = 0 for anno in info.get_annotations(): print(" %i: %s" % (index, anno.pretty_annotation())) if info.get_enclosingmethod(): print(" EnclosingMethod:", info.get_enclosingmethod()) major, minor = info.get_version() print(" minor version:", major) print(" major version:", minor) platform = platform_from_version(*info.version) or "unknown" print(" Platform:", platform) if options.constpool: print(" Constants pool:") # we don't use the info.pretty_constants() generator here # because we actually want numbers for the entries, and that # generator skips them. cpool = info.cpool for i in xrange(1, len(cpool.consts)): t, v = cpool.pretty_const(i) if t: # skipping the None consts, which would be the entries # comprising the second half of a long or double value print("const #%i = %s\t%s;" % (i, t, v)) print("") if options.show == SHOW_HEADER: return print("{") for field in info.fields: if should_show(options, field): print_field(options, field) for method in info.methods: if should_show(options, method): print_method(options, method) print("}") print("") return 0