diff options
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.java | 18 |
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)); } |