private static void attrRemover(ClassNode classNode) { if (classNode.superName.equals("org/bukkit/plugin/java/JavaPlugin") || classNode.superName.equals("net/md_5/bungee/api/plugin/Plugin")) { if (classNode.attrs != null) { Iterator<Attribute> attributeIterator = classNode.attrs.iterator(); while (attributeIterator.hasNext()) { Attribute attribute = attributeIterator.next(); if (attribute.type.equalsIgnoreCase("PluginVersion")) { attributeIterator.remove(); } if (attribute.type.equalsIgnoreCase("CompileVersion")) { attributeIterator.remove(); } } } } }
protected Attribute read( ClassReader cr, int off, int len, char[] buf, int codeOff, Label[] labels) { StackMapTableAttribute attr = (StackMapTableAttribute) super.read(cr, off, len, buf, codeOff, labels); return new ASMStackMapTableAttribute(attr.getFrames(), len); }
protected Attribute read( ClassReader cr, int off, int len, char[] buf, int codeOff, Label[] labels) { StackMapAttribute attr = (StackMapAttribute) super.read(cr, off, len, buf, codeOff, labels); return new ASMStackMapAttribute(attr.getFrames(), len); }
public void visitAttribute(final Attribute attr) { buf.setLength(0); buf.append(tab).append("ATTRIBUTE "); appendDescriptor(-1, attr.type); if (attr instanceof Traceable) { ((Traceable) attr).trace(buf, labelNames); } else { buf.append(" : ").append(attr.toString()).append("\n"); } text.add(buf.toString()); if (mv != null) { mv.visitAttribute(attr); } }
@Override public void visitAttribute(Attribute attr) { if ( attr.type.equals( SimulareAttribute.TYPE ) ) { if ( transformed ) { throw new IllegalStateException( "Duplicate Simulare attribute!" ); } skipCount++; transformed = true; } super.visitAttribute( attr ); }
public void test() throws Exception { Attribute[] attributes = new Attribute[] { new ASMStackMapTableAttribute() }; ClassWriter cw = new ClassWriter(false); ClassReader cr1 = new ClassReader(is); cr1.accept(cw, attributes, true); ClassReader cr2 = new ClassReader(cw.toByteArray()); if (!Arrays.equals(cr1.b, cr2.b)) { StringWriter sw1 = new StringWriter(); StringWriter sw2 = new StringWriter(); ClassVisitor cv1 = new TraceClassVisitor(new PrintWriter(sw1)); ClassVisitor cv2 = new TraceClassVisitor(new PrintWriter(sw2)); cr1.accept(cv1, attributes, true); cr2.accept(cv2, attributes, true); assertEquals("different data", sw1.toString(), sw2.toString()); } }
@Override public void visitAttribute(final Attribute attr) { if (attrs == null) { attrs = new ArrayList<Attribute>(1); } attrs.add(attr); }
@Override public void visitAttribute(final Attribute attr) { checkEnd(); if (attr == null) { throw new IllegalArgumentException( "Invalid attribute (must not be null)"); } super.visitAttribute(attr); }
public void visitAttribute(final Attribute attr) { buf.setLength(0); buf.append("// ATTRIBUTE ").append(attr.type).append('\n'); if (attr instanceof ASMifiable) { if (labelNames == null) { labelNames = new HashMap<Label, String>(); } buf.append("{\n"); ((ASMifiable) attr).asmify(buf, "attr", labelNames); buf.append(name).append(".visitAttribute(attr);\n"); buf.append("}\n"); } text.add(buf.toString()); }
@Override public void visitAttribute(final Attribute attr) { checkState(); if (attr == null) { throw new IllegalArgumentException( "Invalid attribute (must not be null)"); } super.visitAttribute(attr); }
@Override public void visitMethodAttribute(final Attribute attr) { buf.setLength(0); buf.append(tab).append("ATTRIBUTE "); appendDescriptor(-1, attr.type); if (attr instanceof Textifiable) { ((Textifiable) attr).textify(buf, labelNames); } else { buf.append(" : unknown\n"); } text.add(buf.toString()); }
/** * Prints a disassembled view of the given attribute. * * @param attr * an attribute. */ public void visitAttribute(final Attribute attr) { buf.setLength(0); buf.append(tab).append("ATTRIBUTE "); appendDescriptor(-1, attr.type); if (attr instanceof Textifiable) { ((Textifiable) attr).textify(buf, null); } else { buf.append(" : unknown\n"); } text.add(buf.toString()); }
@Override public void visitAttribute(final Attribute attr) { checkEndMethod(); if (attr == null) { throw new IllegalArgumentException( "Invalid attribute (must not be null)"); } super.visitAttribute(attr); }