private void addDebugInfo(final List<MethodItem> methodItems) { for (DebugItem debugItem: methodImpl.getDebugItems()) { methodItems.add(DebugMethodItem.build(registerFormatter, debugItem)); } }
@Nullable @Override public Iterable<? extends DebugItem> getDebugItems(@Nonnull PoolMethod method) { MethodImplementation impl = method.getImplementation(); if (impl != null) { return impl.getDebugItems(); } return null; }
for (DebugItem debugItem : methodImplementation.getDebugItems()) { int debugCodeAddress = debugItem.getCodeAddress(); int locationIndex = mapCodeAddressToIndex(codeAddressToIndex, debugCodeAddress);
for (DebugItem di : code.getDebugItems()) { if (di instanceof ImmutableLineNumber) { ImmutableLineNumber ln = (ImmutableLineNumber) di;
if (!Iterables.isEmpty(methodImplementation.getDebugItems())) { throw new SemanticException(input, I_METHOD72, "debug directives cannot be present in %s method", methodType);
private void internDebug(@Nonnull Method method) { for (MethodParameter param: method.getParameters()) { String paramName = param.getName(); if (paramName != null) { dexPool.stringSection.intern(paramName); } } MethodImplementation methodImpl = method.getImplementation(); if (methodImpl != null) { for (DebugItem debugItem: methodImpl.getDebugItems()) { switch (debugItem.getDebugItemType()) { case DebugItemType.START_LOCAL: StartLocal startLocal = (StartLocal)debugItem; dexPool.stringSection.internNullable(startLocal.getName()); dexPool.typeSection.internNullable(startLocal.getType()); dexPool.stringSection.internNullable(startLocal.getSignature()); break; case DebugItemType.SET_SOURCE_FILE: dexPool.stringSection.internNullable(((SetSourceFile) debugItem).getSourceFile()); break; } } } }
@Nullable @Override public Iterable<? extends DebugItem> getDebugItems(@Nonnull BuilderMethod builderMethod) { MethodImplementation impl = builderMethod.getImplementation(); if (impl == null) { return null; } return impl.getDebugItems(); }
private void addDebugInfo(final List<MethodItem> methodItems) { for (DebugItem debugItem: methodImpl.getDebugItems()) { methodItems.add(DebugMethodItem.build(registerFormatter, debugItem)); } }
@Nullable @Override public Iterable<? extends DebugItem> getDebugItems(@Nonnull PoolMethod method) { MethodImplementation impl = method.getImplementation(); if (impl != null) { return impl.getDebugItems(); } return null; }
@Nullable @Override public Iterable<? extends DebugItem> getDebugItems(@Nonnull BuilderMethod builderMethod) { MethodImplementation impl = builderMethod.getImplementation(); if (impl == null) { return null; } return impl.getDebugItems(); }
private void addDebugInfo(final List<MethodItem> methodItems) { for (DebugItem debugItem: methodImpl.getDebugItems()) { methodItems.add(DebugMethodItem.build(registerFormatter, debugItem)); } }
private void addDebugInfo(final List<MethodItem> methodItems) { for (DebugItem debugItem : methodImpl.getDebugItems()) { methodItems.add(DebugMethodItem.build(registerFormatter, debugItem)); } }
@Nullable @Override public Iterable<? extends DebugItem> getDebugItems(@Nonnull PoolMethod method) { MethodImplementation impl = method.getImplementation(); if (impl != null) { return impl.getDebugItems(); } return null; }
@Nullable @Override public Iterable<? extends DebugItem> getDebugItems(@Nonnull BuilderMethod builderMethod) { MethodImplementation impl = builderMethod.getImplementation(); if (impl == null) { return null; } return impl.getDebugItems(); }
@Override @Nonnull public Iterable<? extends DebugItem> getDebugItems() { return RewriterUtils.rewriteIterable(rewriters.getDebugItemRewriter(), methodImplementation.getDebugItems()); } }
@Override @Nonnull public Iterable<? extends DebugItem> getDebugItems() { return RewriterUtils.rewriteIterable(rewriters.getDebugItemRewriter(), methodImplementation.getDebugItems()); } }
@Override @Nonnull public Iterable<? extends DebugItem> getDebugItems() { return RewriterUtils.rewriteIterable(rewriters.getDebugItemRewriter(), methodImplementation.getDebugItems()); } }
@Nullable public static ImmutableMethodImplementation of(@Nullable MethodImplementation methodImplementation) { if (methodImplementation == null) { return null; } if (methodImplementation instanceof ImmutableMethodImplementation) { return (ImmutableMethodImplementation)methodImplementation; } return new ImmutableMethodImplementation( methodImplementation.getRegisterCount(), methodImplementation.getInstructions(), methodImplementation.getTryBlocks(), methodImplementation.getDebugItems()); }
@Nullable public static ImmutableMethodImplementation of(@Nullable MethodImplementation methodImplementation) { if (methodImplementation == null) { return null; } if (methodImplementation instanceof ImmutableMethodImplementation) { return (ImmutableMethodImplementation)methodImplementation; } return new ImmutableMethodImplementation( methodImplementation.getRegisterCount(), methodImplementation.getInstructions(), methodImplementation.getTryBlocks(), methodImplementation.getDebugItems()); }
@Override protected MethodImplementation reMethodImpl(MethodImplementation methodImplementation) { if (methodImplementation == null){ return null; } Iterable<? extends Instruction> instructions = methodImplementation.getInstructions(); Iterable<? extends DebugItem> debugItems = methodImplementation.getDebugItems(); List<? extends TryBlock<? extends ExceptionHandler>> tryBlocks = methodImplementation.getTryBlocks(); return new ImmutableMethodImplementation(methodImplementation.getRegisterCount(), reInstructions(instructions), reTryCatchBlock(methodImplementation.getTryBlocks()), reDebugItem(methodImplementation.getDebugItems())); }