aboutsummaryrefslogtreecommitdiff
path: root/create/src/com/android/tools/layoutlib/create/DelegateMethodAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'create/src/com/android/tools/layoutlib/create/DelegateMethodAdapter.java')
-rw-r--r--create/src/com/android/tools/layoutlib/create/DelegateMethodAdapter.java72
1 files changed, 72 insertions, 0 deletions
diff --git a/create/src/com/android/tools/layoutlib/create/DelegateMethodAdapter.java b/create/src/com/android/tools/layoutlib/create/DelegateMethodAdapter.java
index 630550031d..859578e601 100644
--- a/create/src/com/android/tools/layoutlib/create/DelegateMethodAdapter.java
+++ b/create/src/com/android/tools/layoutlib/create/DelegateMethodAdapter.java
@@ -22,10 +22,12 @@ import org.objectweb.asm.AnnotationVisitor;
import org.objectweb.asm.Attribute;
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.Handle;
import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.Type;
+import org.objectweb.asm.TypePath;
import java.util.ArrayList;
@@ -480,4 +482,74 @@ class DelegateMethodAdapter extends MethodVisitor {
}
}
+ @Override
+ public void visitInvokeDynamicInsn(String name, String descriptor, Handle bootstrapMethodHandle,
+ Object... bootstrapMethodArguments) {
+ if (mOrgWriter != null) {
+ mOrgWriter.visitInvokeDynamicInsn(name, descriptor, bootstrapMethodHandle,
+ bootstrapMethodArguments);
+ }
+ }
+
+ @Override
+ public void visitParameter(String name, int access) {
+ if (mOrgWriter != null) {
+ mOrgWriter.visitParameter(name, access);
+ }
+ }
+
+ @Override
+ public AnnotationVisitor visitTypeAnnotation(int typeRef, TypePath typePath, String descriptor,
+ boolean visible) {
+ if (mOrgWriter != null) {
+ return mOrgWriter.visitTypeAnnotation(typeRef, typePath, descriptor, visible);
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public void visitAnnotableParameterCount(int parameterCount, boolean visible) {
+ if (mOrgWriter != null) {
+ mOrgWriter.visitAnnotableParameterCount(parameterCount, visible);
+ }
+ }
+
+ @Override
+ public void visitMethodInsn(int opcode, String owner, String name, String descriptor) {
+ if (mOrgWriter != null) {
+ mOrgWriter.visitMethodInsn(opcode, owner, name, descriptor);
+ }
+ }
+
+ @Override
+ public AnnotationVisitor visitInsnAnnotation(int typeRef, TypePath typePath, String descriptor,
+ boolean visible) {
+ if (mOrgWriter != null) {
+ return mOrgWriter.visitInsnAnnotation(typeRef, typePath, descriptor, visible);
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public AnnotationVisitor visitTryCatchAnnotation(int typeRef, TypePath typePath,
+ String descriptor, boolean visible) {
+ if (mOrgWriter != null) {
+ return mOrgWriter.visitTryCatchAnnotation(typeRef, typePath, descriptor, visible);
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public AnnotationVisitor visitLocalVariableAnnotation(int typeRef, TypePath typePath,
+ Label[] start, Label[] end, int[] index, String descriptor, boolean visible) {
+ if (mOrgWriter != null) {
+ return mOrgWriter.visitLocalVariableAnnotation(typeRef, typePath, start, end, index,
+ descriptor, visible);
+ } else {
+ return null;
+ }
+ }
}