From 50f041d5328a9bb084a7a3b637a5162f1220ed45 Mon Sep 17 00:00:00 2001 From: Benoit Lamarche Date: Mon, 20 Jul 2015 16:13:41 +0200 Subject: Do not emit debug info for synthetic variables coming from Jill Bug: 22491084 Change-Id: I398f63fa10e3cf2ba2f032dae713a967709c8faf --- jack/src/com/android/jack/backend/dex/rop/RopRegisterManager.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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}. * -- cgit v1.1