@Override public boolean equals(Object o) { return this == o || o instanceof JMethod && mth.equals(((JMethod) o).mth); } }
@Override public int getLine() { return mth.getDecompiledLine(); }
public ArgType getReturnType() { return mth.getReturnType(); }
String makeBaseString() { if (mth.isClassInit()) { return "{...}"; } StringBuilder base = new StringBuilder(); if (mth.isConstructor()) { base.append(mth.getDeclaringClass().getName()); } else { base.append(mth.getName()); } base.append('('); for (Iterator<ArgType> it = mth.getArguments().iterator(); it.hasNext(); ) { base.append(Utils.typeStr(it.next())); if (it.hasNext()) { base.append(", "); } } base.append(')'); return base.toString(); }
@Override public String makeLongString() { String name = mth.getDeclaringClass().getFullName() + "." + makeBaseString(); return Utils.typeFormat(name, getReturnType()); }
@Override public int hashCode() { return mth.hashCode(); }
for (MethodNode m : cls.getMethods()) { if (!m.contains(AFlag.DONT_GENERATE)) { JavaMethod javaMethod = new JavaMethod(this, m); mths.add(javaMethod); rootDecompiler.getMethodsMap().put(m, javaMethod);
@Override public Icon getIcon() { AccessInfo accessFlags = mth.getAccessFlags(); OverlayIcon icon = Utils.makeIcon(accessFlags, ICON_MTH_PUB, ICON_MTH_PRI, ICON_MTH_PRO, ICON_MTH_DEF); if (accessFlags.isConstructor()) { icon.add(ICON_CONSTRUCTOR); } if (accessFlags.isSynchronized()) { icon.add(ICON_SYNC); } return icon; }
public void indexNames(JavaClass cls) { clsNamesIndex.put(cls.getFullName(), nodeCache.makeFrom(cls)); for (JavaMethod mth : cls.getMethods()) { mthNamesIndex.put(mth.getFullName(), nodeCache.makeFrom(mth)); } for (JavaField fld : cls.getFields()) { fldNamesIndex.put(fld.getFullName(), nodeCache.makeFrom(fld)); } for (JavaClass innerCls : cls.getInnerClasses()) { indexNames(innerCls); } }
private JNode convert(JavaNode node) { if (node == null) { return null; } if (node instanceof JavaClass) { JClass p = (JClass) makeFrom(node.getDeclaringClass()); return new JClass((JavaClass) node, p); } if (node instanceof JavaMethod) { JavaMethod mth = (JavaMethod) node; return new JMethod(mth, (JClass) makeFrom(mth.getDeclaringClass())); } if (node instanceof JavaField) { JavaField fld = (JavaField) node; return new JField(fld, (JClass) makeFrom(fld.getDeclaringClass())); } throw new JadxRuntimeException("Unknown type for JavaNode: " + node.getClass()); } }
public void addClass(JavaClass cls) { map.put(cls.getDecompiledLine(), cls); for (JavaClass innerCls : cls.getInnerClasses()) { map.put(innerCls.getDecompiledLine(), innerCls); addClass(innerCls); } for (JavaMethod mth : cls.getMethods()) { map.put(mth.getDecompiledLine(), mth); } }