Skip to content

Commit

Permalink
Upgrade to cglib 3.0 adn ASM 4.0.
Browse files Browse the repository at this point in the history
------------------
Manually synced.
COMMIT=35272017
  • Loading branch information
cgruber committed May 16, 2013
1 parent e5ed5b4 commit 2303007
Show file tree
Hide file tree
Showing 10 changed files with 39 additions and 84 deletions.
9 changes: 6 additions & 3 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -236,13 +236,16 @@
<arg value="-DNO_AOP" />
</munge>
<replace file="build/no_aop/common.xml" value="">
<replacetoken><![CDATA[<zipfileset src="${common.basedir}/lib/build/asm-3.3.1.jar"/>]]></replacetoken>
<replacetoken><![CDATA[<zipfileset src="${common.basedir}/lib/build/asm-4.0.jar"/>]]></replacetoken>
</replace>
<replace file="build/no_aop/common.xml" value="">
<replacetoken><![CDATA[<zipfileset src="${common.basedir}/lib/build/cglib-2.2.2.jar"/>]]></replacetoken>
<replacetoken><![CDATA[<zipfileset src="${common.basedir}/lib/build/asm-util-4.0.jar"/>]]></replacetoken>
</replace>
<replace file="build/no_aop/common.xml" value="">
<replacetoken><![CDATA[<zipfileset src="${common.basedir}/lib/build/cglib-2.2.2.jar">
<replacetoken><![CDATA[<zipfileset src="${common.basedir}/lib/build/cglib-3.0.jar"/>]]></replacetoken>
</replace>
<replace file="build/no_aop/common.xml" value="">
<replacetoken><![CDATA[<zipfileset src="${common.basedir}/lib/build/cglib-3.0.jar">
<include name="LICENSE"/>
<include name="NOTICE"/>
</zipfileset>]]></replacetoken>
Expand Down
7 changes: 4 additions & 3 deletions common.xml
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,9 @@
classpath="${common.basedir}/lib/build/jarjar-1.1.jar"/>
<jarjar jarfile="${build.dir}/${ant.project.name}-with-deps.jar">
<fileset dir="${build.dir}/classes"/>
<zipfileset src="${common.basedir}/lib/build/cglib-2.2.2.jar"/>
<zipfileset src="${common.basedir}/lib/build/asm-3.3.1.jar"/>
<zipfileset src="${common.basedir}/lib/build/cglib-3.0.jar"/>
<zipfileset src="${common.basedir}/lib/build/asm-4.0.jar"/>
<zipfileset src="${common.basedir}/lib/build/asm-util-4.0.jar"/>
<zipfileset src="${common.basedir}/lib/build/guava-11.0.1.jar"/>
<rule pattern="net.sf.cglib.*" result="com.google.inject.internal.cglib.$@1"/>
<rule pattern="net.sf.cglib.**.*" result="com.google.inject.internal.cglib.@1.$@2"/>
Expand All @@ -171,7 +172,7 @@
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
classpath="${common.basedir}/lib/build/jarjar-1.1.jar"/>
<jarjar jarfile="${build.dir}/${ant.project.name}-with-deps.jar">
<zipfileset src="${common.basedir}/lib/build/cglib-2.2.2.jar">
<zipfileset src="${common.basedir}/lib/build/cglib-3.0.jar">
<include name="LICENSE"/>
<include name="NOTICE"/>
</zipfileset>
Expand Down
107 changes: 29 additions & 78 deletions core/src/com/google/inject/internal/util/LineNumbers.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import com.google.common.collect.Maps;

import org.objectweb.asm.AnnotationVisitor;
import org.objectweb.asm.Attribute;
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.FieldVisitor;
Expand Down Expand Up @@ -123,12 +122,16 @@ private String memberKey(Member member) {
end[NO_AOP]*/
}

private class LineNumberReader implements ClassVisitor, MethodVisitor, AnnotationVisitor {
private class LineNumberReader extends ClassVisitor {

private int line = -1;
private String pendingMethod;
private String name;

LineNumberReader() {
super(Opcodes.ASM4);
}

public void visit(int version, int access, String name, String signature,
String superName, String[] interfaces) {
this.name = name;
Expand All @@ -141,7 +144,7 @@ public MethodVisitor visitMethod(int access, String name, String desc,
}
pendingMethod = name + desc;
line = -1;
return this;
return new LineNumberMethodVisitor();
}

public void visitSource(String source, String debug) {
Expand All @@ -160,113 +163,61 @@ public void visitLineNumber(int line, Label start) {
}
}

public void visitFieldInsn(int opcode, String owner, String name,
String desc) {
if (opcode == Opcodes.PUTFIELD && this.name.equals(owner)
&& !lines.containsKey(name) && line != -1) {
lines.put(name, line);
}
}

public void visitEnd() {
}

public void visitInnerClass(String name, String outerName, String innerName,
int access) {
}

public void visitOuterClass(String owner, String name, String desc) {
}

public void visitAttribute(Attribute attr) {
}

public FieldVisitor visitField(int access, String name, String desc,
String signature, Object value) {
return null;
}

public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
return this;
}

public AnnotationVisitor visitAnnotation(String name, String desc) {
return this;
}

public AnnotationVisitor visitAnnotationDefault() {
return this;
return new LineNumberAnnotationVisitor();
}

public AnnotationVisitor visitParameterAnnotation(int parameter,
String desc, boolean visible) {
return this;
return new LineNumberAnnotationVisitor();
}

public AnnotationVisitor visitArray(String name) {
return this;
class LineNumberMethodVisitor extends MethodVisitor {
LineNumberMethodVisitor() {
super(Opcodes.ASM4);
}

public void visitEnum(String name, String desc, String value) {
public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
return new LineNumberAnnotationVisitor();
}

public void visit(String name, Object value) {
public AnnotationVisitor visitAnnotationDefault() {
return new LineNumberAnnotationVisitor();
}

public void visitCode() {
public void visitFieldInsn(int opcode, String owner, String name,
String desc) {
if (opcode == Opcodes.PUTFIELD && LineNumberReader.this.name.equals(owner)
&& !lines.containsKey(name) && line != -1) {
lines.put(name, line);
}

public void visitFrame(int type, int nLocal, Object[] local, int nStack,
Object[] stack) {
}

public void visitIincInsn(int var, int increment) {
public void visitLineNumber(int line, Label start) {
LineNumberReader.this.visitLineNumber(line, start);
}

public void visitInsn(int opcode) {
}

public void visitIntInsn(int opcode, int operand) {
class LineNumberAnnotationVisitor extends AnnotationVisitor {
LineNumberAnnotationVisitor() {
super(Opcodes.ASM4);
}

public void visitJumpInsn(int opcode, Label label) {
public AnnotationVisitor visitAnnotation(String name, String desc) {
return this;
}

public void visitLabel(Label label) {
public AnnotationVisitor visitArray(String name) {
return this;
}

public void visitLdcInsn(Object cst) {
}

public void visitLocalVariable(String name, String desc, String signature,
Label start, Label end, int index) {
}

public void visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) {
}

public void visitMaxs(int maxStack, int maxLocals) {
}

public void visitMethodInsn(int opcode, String owner, String name,
String desc) {
}

public void visitMultiANewArrayInsn(String desc, int dims) {
}

public void visitTableSwitchInsn(int min, int max, Label dflt,
Label[] labels) {
}

public void visitTryCatchBlock(Label start, Label end, Label handler,
String type) {
}

public void visitTypeInsn(int opcode, String desc) {
}

public void visitVarInsn(int opcode, int var) {
}
}
}
Binary file removed extensions/persist/lib/cglib-nodep-2.2.jar
Binary file not shown.
Binary file added extensions/persist/lib/cglib-nodep-3.0.jar
Binary file not shown.
Binary file removed lib/build/asm-3.3.1.jar
Binary file not shown.
Binary file added lib/build/asm-4.0.jar
Binary file not shown.
Binary file added lib/build/asm-util-4.0.jar
Binary file not shown.
Binary file removed lib/build/cglib-2.2.2.jar
Binary file not shown.
Binary file added lib/build/cglib-3.0.jar
Binary file not shown.

0 comments on commit 2303007

Please sign in to comment.