diff options
Diffstat (limited to 'jack/src/com/android/jack/backend/dex/rop/RopRegisterManager.java')
-rw-r--r-- | jack/src/com/android/jack/backend/dex/rop/RopRegisterManager.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/jack/src/com/android/jack/backend/dex/rop/RopRegisterManager.java b/jack/src/com/android/jack/backend/dex/rop/RopRegisterManager.java index 18f47bc..8b0d1e2 100644 --- a/jack/src/com/android/jack/backend/dex/rop/RopRegisterManager.java +++ b/jack/src/com/android/jack/backend/dex/rop/RopRegisterManager.java @@ -132,7 +132,7 @@ class RopRegisterManager { JType type = var.getType(); Type dexRegType = RopHelper.convertTypeToDx(type); RegisterSpec reg; - if (emitDebugInfo && (emitSyntheticDebugInfo || !var.isSynthetic()) && var.getName() != null) { + if (emitDebugInfo && var.getName() != null && (emitSyntheticDebugInfo || !isSynthetic(var))) { CstString cstSignature = null; GenericSignature infoMarker = var.getMarker(GenericSignature.class); if (infoMarker != null) { @@ -151,6 +151,12 @@ class RopRegisterManager { return (reg); } + private boolean isSynthetic(@Nonnull JVariable var) { + return var.isSynthetic() + || var.getName().startsWith("-p_") || var.getName().startsWith("-l_") + || var.getName().startsWith("-s_") || var.getName().startsWith("-e_"); + } + /** * Get a {@code RegisterSpec} from a {@code JVariableRef}. * |