diff options
author | Benoit Lamarche <benoitlamarche@google.com> | 2014-11-06 18:15:49 +0100 |
---|---|---|
committer | Benoit Lamarche <benoitlamarche@google.com> | 2014-11-06 18:15:49 +0100 |
commit | 839d58e245b08c409073c67a5cc52345c677ac42 (patch) | |
tree | 417b89e7ada8ad57ae8474f650acbb08b3d6b5f8 /jack/src | |
parent | 75d8f5b6bb19cb5d85a1c9f5dffc5541481007f4 (diff) | |
download | toolchain_jack-839d58e245b08c409073c67a5cc52345c677ac42.zip toolchain_jack-839d58e245b08c409073c67a5cc52345c677ac42.tar.gz toolchain_jack-839d58e245b08c409073c67a5cc52345c677ac42.tar.bz2 |
Handle lookup exceptions in Tracer
Change-Id: I977d508b77162f5874af30929ce248d3650f262a
Diffstat (limited to 'jack/src')
-rw-r--r-- | jack/src/com/android/jack/analysis/tracer/Tracer.java | 10 | ||||
-rw-r--r-- | jack/src/com/android/jack/transformations/enums/SwitchEnumSupport.java | 1 |
2 files changed, 9 insertions, 2 deletions
diff --git a/jack/src/com/android/jack/analysis/tracer/Tracer.java b/jack/src/com/android/jack/analysis/tracer/Tracer.java index 777e13d..bf93886 100644 --- a/jack/src/com/android/jack/analysis/tracer/Tracer.java +++ b/jack/src/com/android/jack/analysis/tracer/Tracer.java @@ -58,6 +58,7 @@ import com.android.jack.ir.ast.JTypeStringLiteral; import com.android.jack.ir.ast.JVariable; import com.android.jack.ir.ast.JVisitor; import com.android.jack.ir.ast.marker.ThrownExceptionMarker; +import com.android.jack.lookup.JMethodLookupException; import com.android.sched.item.Description; import com.android.sched.marker.LocalMarkerManager; import com.android.sched.util.log.LoggerFactory; @@ -175,8 +176,13 @@ public class Tracer extends JVisitor { if (t instanceof JDefinedEnum) { // The values() method is needed for the switches on enum support - JMethod values = definedClass.getMethod("values", definedClass.getArray()); - trace(values); + try { + JMethod values = definedClass.getMethod("values", definedClass.getArray()); + trace(values); + } catch (JMethodLookupException e) { + // A valid enum must have a values() method + throw new AssertionError(e); + } } } diff --git a/jack/src/com/android/jack/transformations/enums/SwitchEnumSupport.java b/jack/src/com/android/jack/transformations/enums/SwitchEnumSupport.java index 917d2b8..ee8fcbf 100644 --- a/jack/src/com/android/jack/transformations/enums/SwitchEnumSupport.java +++ b/jack/src/com/android/jack/transformations/enums/SwitchEnumSupport.java @@ -294,6 +294,7 @@ public class SwitchEnumSupport implements RunnableSchedulable<JMethod> { try { valuesMethod = enumType.getMethod("values", enumArrayType); } catch (JMethodLookupException e1) { + // A valid enum must have a values() method throw new AssertionError(e1); } |