public ClassNode decompile(ClassHolder cls) { ClassNode clsNode = new ClassNode(cls.getName(), cls.getParent()); for (FieldHolder field : cls.getFields()) { FieldNode fieldNode = new FieldNode(field.getReference(), field.getType()); fieldNode.getModifiers().addAll(field.getModifiers()); fieldNode.setInitialValue(field.getInitialValue()); clsNode.getFields().add(fieldNode); } for (MethodHolder method : cls.getMethods()) { if (method.getModifiers().contains(ElementModifier.ABSTRACT)) { continue; } if ((!isBootstrap() && method.getAnnotations().get(InjectedBy.class.getName()) != null) || methodsToSkip.contains(method.getReference())) { continue; } MethodNode methodNode = decompile(method); clsNode.getMethods().add(methodNode); } clsNode.getInterfaces().addAll(cls.getInterfaces()); clsNode.getModifiers().addAll(cls.getModifiers()); clsNode.setAccessLevel(cls.getLevel()); return clsNode; }
List<FieldNode> staticFields = new ArrayList<>(); for (FieldNode field : cls.getFields()) { if (field.getModifiers().contains(ElementModifier.STATIC)) { staticFields.add(field); } else { Object value = field.getInitialValue(); if (value == null) { value = getDefaultValue(field.getType()); FieldReference fieldRef = new FieldReference(cls.getName(), field.getName()); writer.append(thisAliased ? "a" : "this").append(".").appendField(fieldRef).ws() .append("=").ws().append(context.constantToString(value)).append(";").softNewLine(); debugEmitter.addField(field.getName(), naming.getNameFor(fieldRef)); Object value = field.getInitialValue(); if (value == null) { value = getDefaultValue(field.getType()); FieldReference fieldRef = new FieldReference(cls.getName(), field.getName()); if (value instanceof String) { context.constantToString(value);
consumer.consume(new FieldReference(cls.getName(), field.getName())); if (field.getModifiers().contains(ElementModifier.STATIC)) { consumer.consume(cls.getName());
consumer.consume(new FieldReference(cls.getName(), field.getName())); if (field.getModifiers().contains(ElementModifier.STATIC)) { consumer.consume(cls.getName());
List<FieldNode> staticFields = new ArrayList<>(); for (FieldNode field : cls.getFields()) { if (field.getModifiers().contains(ElementModifier.STATIC)) { staticFields.add(field); } else { Object value = field.getInitialValue(); if (value == null) { value = getDefaultValue(field.getType()); FieldReference fieldRef = new FieldReference(cls.getName(), field.getName()); writer.append(thisAliased ? "a" : "this").append(".").appendField(fieldRef).ws() .append("=").ws().append(context.constantToString(value)).append(";").softNewLine(); debugEmitter.addField(field.getName(), naming.getNameFor(fieldRef)); Object value = field.getInitialValue(); if (value == null) { value = getDefaultValue(field.getType()); FieldReference fieldRef = new FieldReference(cls.getName(), field.getName()); if (value instanceof String) { context.constantToString(value);
public ClassNode decompile(ClassHolder cls) { ClassNode clsNode = new ClassNode(cls.getName(), cls.getParent()); for (FieldHolder field : cls.getFields()) { FieldNode fieldNode = new FieldNode(field.getName(), field.getType()); fieldNode.getModifiers().addAll(field.getModifiers()); fieldNode.setInitialValue(field.getInitialValue()); clsNode.getFields().add(fieldNode); } for (MethodHolder method : cls.getMethods()) { if (method.getModifiers().contains(ElementModifier.ABSTRACT)) { continue; } if (method.getAnnotations().get(InjectedBy.class.getName()) != null || methodsToSkip.contains(method.getReference())) { continue; } MethodNode methodNode = decompile(method); clsNode.getMethods().add(methodNode); } clsNode.getInterfaces().addAll(cls.getInterfaces()); clsNode.getModifiers().addAll(cls.getModifiers()); return clsNode; }