summaryrefslogtreecommitdiff
path: root/src/main/com/tonicsystems
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/com/tonicsystems')
-rw-r--r--src/main/com/tonicsystems/jarjar/EmptyClassVisitor.java10
-rw-r--r--src/main/com/tonicsystems/jarjar/MainProcessor.java14
-rw-r--r--src/main/com/tonicsystems/jarjar/RulesFileParser.java6
-rw-r--r--src/main/com/tonicsystems/jarjar/StringReader.java8
-rw-r--r--src/main/com/tonicsystems/jarjar/util/GetNameClassWriter.java2
5 files changed, 30 insertions, 10 deletions
diff --git a/src/main/com/tonicsystems/jarjar/EmptyClassVisitor.java b/src/main/com/tonicsystems/jarjar/EmptyClassVisitor.java
index c7614a1..9a05516 100644
--- a/src/main/com/tonicsystems/jarjar/EmptyClassVisitor.java
+++ b/src/main/com/tonicsystems/jarjar/EmptyClassVisitor.java
@@ -22,29 +22,29 @@ import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
/**
- * An ASM3 EmptyVisitor replacement
+ * An EmptyVisitor replacement
* @author <a href="mailto:blackdrag@gmx.org">Jochen "blackdrag" Theodorou</a>
*/
public class EmptyClassVisitor extends ClassVisitor {
public EmptyClassVisitor() {
- super(Opcodes.ASM7);
+ super(Opcodes.ASM9);
}
@Override
public MethodVisitor visitMethod(int access, String name, String desc,
String signature, String[] exceptions) {
- return new MethodVisitor(Opcodes.ASM7) {};
+ return new MethodVisitor(Opcodes.ASM9) {};
}
@Override
public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
- return new AnnotationVisitor(Opcodes.ASM7) {};
+ return new AnnotationVisitor(Opcodes.ASM9) {};
}
@Override
public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) {
- return new FieldVisitor(Opcodes.ASM7) {};
+ return new FieldVisitor(Opcodes.ASM9) {};
}
}
diff --git a/src/main/com/tonicsystems/jarjar/MainProcessor.java b/src/main/com/tonicsystems/jarjar/MainProcessor.java
index 2778cc5..a0ef4c7 100644
--- a/src/main/com/tonicsystems/jarjar/MainProcessor.java
+++ b/src/main/com/tonicsystems/jarjar/MainProcessor.java
@@ -16,12 +16,14 @@
package com.tonicsystems.jarjar;
+import com.android.jarjar.StripAnnotation;
import com.tonicsystems.jarjar.util.*;
import java.io.File;
import java.io.IOException;
import java.util.*;
import com.android.jarjar.RemoveAndroidCompatAnnotationsJarTransformer;
+import com.android.jarjar.StripAnnotationsJarTransformer;
class MainProcessor implements JarProcessor
{
@@ -42,6 +44,9 @@ class MainProcessor implements JarProcessor
List<Zap> zapList = new ArrayList<Zap>();
List<Rule> ruleList = new ArrayList<Rule>();
List<Keep> keepList = new ArrayList<Keep>();
+ // ANDROID-BEGIN: b/222743634 Strip annotations from system module stubs
+ List<StripAnnotation> stripAnnotationList = new ArrayList<StripAnnotation>();
+ // ANDROID-END: b/222743634 Strip annotations from system module stubs
for (PatternElement pattern : patterns) {
if (pattern instanceof Zap) {
zapList.add((Zap) pattern);
@@ -49,7 +54,11 @@ class MainProcessor implements JarProcessor
ruleList.add((Rule) pattern);
} else if (pattern instanceof Keep) {
keepList.add((Keep) pattern);
+ // ANDROID-BEGIN: b/222743634 Strip annotations from system module stubs
+ } else if (pattern instanceof StripAnnotation) {
+ stripAnnotationList.add((StripAnnotation) pattern);
}
+ // ANDROID-END: b/222743634 Strip annotations from system module stubs
}
PackageRemapper pr = new PackageRemapper(ruleList, verbose);
@@ -65,6 +74,11 @@ class MainProcessor implements JarProcessor
if (removeAndroidCompatAnnotations)
processors.add(new RemoveAndroidCompatAnnotationsJarTransformer(pr));
// ANDROID-END: b/146418363 Add an Android-specific transformer to strip compat annotation
+ // ANDROID-BEGIN: b/222743634 Strip annotations from system module stubs
+ if (!stripAnnotationList.isEmpty()) {
+ processors.add(new StripAnnotationsJarTransformer(stripAnnotationList));
+ }
+ // ANDROID-END: b/222743634 Strip annotations from system module stubs
processors.add(new JarTransformerChain(new RemappingClassTransformer[]{ new RemappingClassTransformer(pr) }));
processors.add(new ResourceProcessor(pr));
chain = new JarProcessorChain(processors.toArray(new JarProcessor[processors.size()]));
diff --git a/src/main/com/tonicsystems/jarjar/RulesFileParser.java b/src/main/com/tonicsystems/jarjar/RulesFileParser.java
index f54f3b9..c8c6ea4 100644
--- a/src/main/com/tonicsystems/jarjar/RulesFileParser.java
+++ b/src/main/com/tonicsystems/jarjar/RulesFileParser.java
@@ -16,6 +16,8 @@
package com.tonicsystems.jarjar;
+import com.android.jarjar.StripAnnotation;
+
import java.io.*;
import java.util.*;
@@ -62,6 +64,10 @@ class RulesFileParser
element = new Zap();
} else if (type.equals("keep")) {
element = new Keep();
+ // ANDROID-BEGIN: b/222743634 Strip annotations from system module stubs
+ } else if (type.equals("strip-annotation")) {
+ element = new StripAnnotation();
+ // ANDROID-END: b/222743634 Strip annotations from system module stubs
} else {
error(c, parts);
}
diff --git a/src/main/com/tonicsystems/jarjar/StringReader.java b/src/main/com/tonicsystems/jarjar/StringReader.java
index 164b0a2..c3cc273 100644
--- a/src/main/com/tonicsystems/jarjar/StringReader.java
+++ b/src/main/com/tonicsystems/jarjar/StringReader.java
@@ -24,7 +24,7 @@ abstract class StringReader extends ClassVisitor
private String className;
public StringReader() {
- super(Opcodes.ASM7);
+ super(Opcodes.ASM9);
}
abstract public void visitString(String className, String value, int line);
@@ -42,7 +42,7 @@ abstract class StringReader extends ClassVisitor
public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) {
handleObject(value);
- return new FieldVisitor(Opcodes.ASM7){
+ return new FieldVisitor(Opcodes.ASM9){
@Override
public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
return StringReader.this.visitAnnotation(desc, visible);
@@ -52,7 +52,7 @@ abstract class StringReader extends ClassVisitor
@Override
public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
- return new AnnotationVisitor(Opcodes.ASM7) {
+ return new AnnotationVisitor(Opcodes.ASM9) {
@Override
public void visit(String name, Object value) {
handleObject(value);
@@ -71,7 +71,7 @@ abstract class StringReader extends ClassVisitor
@Override
public MethodVisitor visitMethod(int access, String name, String desc,
String signature, String[] exceptions) {
- MethodVisitor mv = new MethodVisitor(Opcodes.ASM7){
+ MethodVisitor mv = new MethodVisitor(Opcodes.ASM9){
@Override
public void visitLdcInsn(Object cst) {
handleObject(cst);
diff --git a/src/main/com/tonicsystems/jarjar/util/GetNameClassWriter.java b/src/main/com/tonicsystems/jarjar/util/GetNameClassWriter.java
index db6ec4f..cd2cc9b 100644
--- a/src/main/com/tonicsystems/jarjar/util/GetNameClassWriter.java
+++ b/src/main/com/tonicsystems/jarjar/util/GetNameClassWriter.java
@@ -25,7 +25,7 @@ public class GetNameClassWriter extends ClassVisitor
private String className;
public GetNameClassWriter(int flags) {
- super(Opcodes.ASM7,new ClassWriter(flags));
+ super(Opcodes.ASM9,new ClassWriter(flags));
}
public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {