aboutsummaryrefslogtreecommitdiff
path: root/dexlib2/src/main/java/com/android/tools/smali/dexlib2/util/Preconditions.java
diff options
context:
space:
mode:
Diffstat (limited to 'dexlib2/src/main/java/com/android/tools/smali/dexlib2/util/Preconditions.java')
-rw-r--r--dexlib2/src/main/java/com/android/tools/smali/dexlib2/util/Preconditions.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/dexlib2/src/main/java/com/android/tools/smali/dexlib2/util/Preconditions.java b/dexlib2/src/main/java/com/android/tools/smali/dexlib2/util/Preconditions.java
index 66c7c40b..57faad6e 100644
--- a/dexlib2/src/main/java/com/android/tools/smali/dexlib2/util/Preconditions.java
+++ b/dexlib2/src/main/java/com/android/tools/smali/dexlib2/util/Preconditions.java
@@ -35,7 +35,10 @@ import com.android.tools.smali.dexlib2.Opcode;
import com.android.tools.smali.dexlib2.ReferenceType;
import com.android.tools.smali.dexlib2.VerificationError;
import com.android.tools.smali.dexlib2.iface.instruction.SwitchElement;
+import com.android.tools.smali.dexlib2.iface.reference.CallSiteReference;
import com.android.tools.smali.dexlib2.iface.reference.FieldReference;
+import com.android.tools.smali.dexlib2.iface.reference.MethodHandleReference;
+import com.android.tools.smali.dexlib2.iface.reference.MethodProtoReference;
import com.android.tools.smali.dexlib2.iface.reference.MethodReference;
import com.android.tools.smali.dexlib2.iface.reference.Reference;
import com.android.tools.smali.dexlib2.iface.reference.StringReference;
@@ -274,6 +277,21 @@ public class Preconditions {
throw new IllegalArgumentException("Invalid reference type, expecting a method reference");
}
break;
+ case ReferenceType.METHOD_PROTO:
+ if (!(reference instanceof MethodProtoReference)) {
+ throw new IllegalArgumentException("Invalid reference type, expecting a method proto reference");
+ }
+ break;
+ case ReferenceType.METHOD_HANDLE:
+ if (!(reference instanceof MethodHandleReference)) {
+ throw new IllegalArgumentException("Invalid reference type, expecting a method handle reference");
+ }
+ break;
+ case ReferenceType.CALL_SITE:
+ if (!(reference instanceof CallSiteReference)) {
+ throw new IllegalArgumentException("Invalid reference type, expecting a call site reference");
+ }
+ break;
default:
throw new IllegalArgumentException(String.format("Not a valid reference type: %d", referenceType));
}