-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[core] Use of while
loop instead of for
#977
Comments
@sergey-wowwow fixed in commit 33f2c3f. |
@skylot package kotlin.sequences;
/* JADX ERROR: NullPointerException in pass: ExtractFieldInit
java.lang.NullPointerException
at jadx.core.utils.BlockUtils.isAllBlocksEmpty(BlockUtils.java:615)
at jadx.core.dex.visitors.ExtractFieldInit.getConstructorsList(ExtractFieldInit.java:241)
at jadx.core.dex.visitors.ExtractFieldInit.moveCommonFieldsInit(ExtractFieldInit.java:122)
at jadx.core.dex.visitors.ExtractFieldInit.visit(ExtractFieldInit.java:43)
*/
public final class DropWhileSequence$iterator$1 implements java.util.Iterator<T>, kotlin.jvm.internal.markers.KMappedMarker {
private int dropState;
private final java.util.Iterator<T> iterator;
private T nextItem;
final /* synthetic */ kotlin.sequences.DropWhileSequence this$0;
/* JADX ERROR: NullPointerException in pass: MethodInvokeVisitor
java.lang.NullPointerException
at jadx.core.dex.visitors.MethodInvokeVisitor.visit(MethodInvokeVisitor.java:58)
*/
/* JADX ERROR: NullPointerException in pass: SimplifyVisitor
java.lang.NullPointerException
*/
public void remove(
/*
[8] Method generation error in method: kotlin.sequences.DropWhileSequence$iterator$1.remove():void, file: classes3.dex
jadx.core.utils.exceptions.JadxRuntimeException: Method arg registers not loaded: kotlin.sequences.DropWhileSequence$iterator$1.remove():void, class status: PROCESS_COMPLETE
at jadx.core.dex.nodes.MethodNode.getArgRegs(MethodNode.java:266)
at jadx.core.codegen.MethodGen.addDefinition(MethodGen.java:132)
at jadx.core.codegen.ClassGen.addMethodCode(ClassGen.java:340)
at jadx.core.codegen.ClassGen.addMethod(ClassGen.java:298)
at jadx.core.codegen.ClassGen.lambda$addInnerClsAndMethods$3(ClassGen.java:267)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258)
*/
/* JADX ERROR: NullPointerException in pass: SimplifyVisitor
java.lang.NullPointerException
*/
DropWhileSequence$iterator$1(
/*
[19] Method generation error in method: kotlin.sequences.DropWhileSequence$iterator$1.<init>(kotlin.sequences.DropWhileSequence):void, file: classes3.dex
jadx.core.utils.exceptions.JadxRuntimeException: Method arg registers not loaded: kotlin.sequences.DropWhileSequence$iterator$1.<init>(kotlin.sequences.DropWhileSequence):void, class status: PROCESS_COMPLETE
at jadx.core.dex.nodes.MethodNode.getArgRegs(MethodNode.java:266)
at jadx.core.codegen.MethodGen.addDefinition(MethodGen.java:132)
at jadx.core.codegen.ClassGen.addMethodCode(ClassGen.java:340)
at jadx.core.codegen.ClassGen.addMethod(ClassGen.java:298)
at jadx.core.codegen.ClassGen.lambda$addInnerClsAndMethods$3(ClassGen.java:267)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258)
*/
/* JADX ERROR: NullPointerException in pass: MethodInvokeVisitor
java.lang.NullPointerException
at jadx.core.dex.visitors.MethodInvokeVisitor.visit(MethodInvokeVisitor.java:58)
*/
/* JADX ERROR: NullPointerException in pass: SimplifyVisitor
java.lang.NullPointerException
*/
public final java.util.Iterator<T> getIterator(
/*
[3] Method generation error in method: kotlin.sequences.DropWhileSequence$iterator$1.getIterator():java.util.Iterator<T>, file: classes3.dex
jadx.core.utils.exceptions.JadxRuntimeException: Method arg registers not loaded: kotlin.sequences.DropWhileSequence$iterator$1.getIterator():java.util.Iterator<T>, class status: PROCESS_COMPLETE
at jadx.core.dex.nodes.MethodNode.getArgRegs(MethodNode.java:266)
at jadx.core.codegen.MethodGen.addDefinition(MethodGen.java:132)
at jadx.core.codegen.ClassGen.addMethodCode(ClassGen.java:340)
at jadx.core.codegen.ClassGen.addMethod(ClassGen.java:298)
at jadx.core.codegen.ClassGen.lambda$addInnerClsAndMethods$3(ClassGen.java:267)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258)
*/
/* JADX ERROR: NullPointerException in pass: MethodInvokeVisitor
java.lang.NullPointerException
at jadx.core.dex.visitors.MethodInvokeVisitor.visit(MethodInvokeVisitor.java:58)
*/
/* JADX ERROR: NullPointerException in pass: SimplifyVisitor
java.lang.NullPointerException
*/
public final int getDropState(
/*
[3] Method generation error in method: kotlin.sequences.DropWhileSequence$iterator$1.getDropState():int, file: classes3.dex
jadx.core.utils.exceptions.JadxRuntimeException: Method arg registers not loaded: kotlin.sequences.DropWhileSequence$iterator$1.getDropState():int, class status: PROCESS_COMPLETE
at jadx.core.dex.nodes.MethodNode.getArgRegs(MethodNode.java:266)
at jadx.core.codegen.MethodGen.addDefinition(MethodGen.java:132)
at jadx.core.codegen.ClassGen.addMethodCode(ClassGen.java:340)
at jadx.core.codegen.ClassGen.addMethod(ClassGen.java:298)
at jadx.core.codegen.ClassGen.lambda$addInnerClsAndMethods$3(ClassGen.java:267)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258)
*/
/* JADX ERROR: NullPointerException in pass: MethodInvokeVisitor
java.lang.NullPointerException
at jadx.core.dex.visitors.MethodInvokeVisitor.visit(MethodInvokeVisitor.java:58)
*/
/* JADX ERROR: NullPointerException in pass: SimplifyVisitor
java.lang.NullPointerException
*/
public final void setDropState(
/*
[3] Method generation error in method: kotlin.sequences.DropWhileSequence$iterator$1.setDropState(int):void, file: classes3.dex
jadx.core.utils.exceptions.JadxRuntimeException: Method arg registers not loaded: kotlin.sequences.DropWhileSequence$iterator$1.setDropState(int):void, class status: PROCESS_COMPLETE
at jadx.core.dex.nodes.MethodNode.getArgRegs(MethodNode.java:266)
at jadx.core.codegen.MethodGen.addDefinition(MethodGen.java:132)
at jadx.core.codegen.ClassGen.addMethodCode(ClassGen.java:340)
at jadx.core.codegen.ClassGen.addMethod(ClassGen.java:298)
at jadx.core.codegen.ClassGen.lambda$addInnerClsAndMethods$3(ClassGen.java:267)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258)
*/
/* JADX ERROR: NullPointerException in pass: MethodInvokeVisitor
java.lang.NullPointerException
at jadx.core.dex.visitors.MethodInvokeVisitor.visit(MethodInvokeVisitor.java:58)
*/
/* JADX ERROR: NullPointerException in pass: SimplifyVisitor
java.lang.NullPointerException
*/
public final T getNextItem(
/*
[3] Method generation error in method: kotlin.sequences.DropWhileSequence$iterator$1.getNextItem():T, file: classes3.dex
jadx.core.utils.exceptions.JadxRuntimeException: Method arg registers not loaded: kotlin.sequences.DropWhileSequence$iterator$1.getNextItem():T, class status: PROCESS_COMPLETE
at jadx.core.dex.nodes.MethodNode.getArgRegs(MethodNode.java:266)
at jadx.core.codegen.MethodGen.addDefinition(MethodGen.java:132)
at jadx.core.codegen.ClassGen.addMethodCode(ClassGen.java:340)
at jadx.core.codegen.ClassGen.addMethod(ClassGen.java:298)
at jadx.core.codegen.ClassGen.lambda$addInnerClsAndMethods$3(ClassGen.java:267)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258)
*/
/* JADX ERROR: NullPointerException in pass: MethodInvokeVisitor
java.lang.NullPointerException
at jadx.core.dex.visitors.MethodInvokeVisitor.visit(MethodInvokeVisitor.java:58)
*/
/* JADX ERROR: NullPointerException in pass: SimplifyVisitor
java.lang.NullPointerException
*/
public final void setNextItem(
/*
[3] Method generation error in method: kotlin.sequences.DropWhileSequence$iterator$1.setNextItem(T):void, file: classes3.dex
jadx.core.utils.exceptions.JadxRuntimeException: Method arg registers not loaded: kotlin.sequences.DropWhileSequence$iterator$1.setNextItem(T):void, class status: PROCESS_COMPLETE
at jadx.core.dex.nodes.MethodNode.getArgRegs(MethodNode.java:266)
at jadx.core.codegen.MethodGen.addDefinition(MethodGen.java:132)
at jadx.core.codegen.ClassGen.addMethodCode(ClassGen.java:340)
at jadx.core.codegen.ClassGen.addMethod(ClassGen.java:298)
at jadx.core.codegen.ClassGen.lambda$addInnerClsAndMethods$3(ClassGen.java:267)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258)
*/
/* JADX ERROR: NullPointerException in pass: MethodInvokeVisitor
java.lang.NullPointerException
at jadx.core.dex.visitors.MethodInvokeVisitor.visit(MethodInvokeVisitor.java:58)
*/
/* JADX ERROR: NullPointerException in pass: SimplifyVisitor
java.lang.NullPointerException
*/
private final void drop(
/*
[42] Method generation error in method: kotlin.sequences.DropWhileSequence$iterator$1.drop():void, file: classes3.dex
jadx.core.utils.exceptions.JadxRuntimeException: Method arg registers not loaded: kotlin.sequences.DropWhileSequence$iterator$1.drop():void, class status: PROCESS_COMPLETE
at jadx.core.dex.nodes.MethodNode.getArgRegs(MethodNode.java:266)
at jadx.core.codegen.MethodGen.addDefinition(MethodGen.java:132)
at jadx.core.codegen.ClassGen.addMethodCode(ClassGen.java:340)
at jadx.core.codegen.ClassGen.addMethod(ClassGen.java:298)
at jadx.core.codegen.ClassGen.lambda$addInnerClsAndMethods$3(ClassGen.java:267)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258)
*/
/* JADX ERROR: NullPointerException in pass: MethodInvokeVisitor
java.lang.NullPointerException
at jadx.core.dex.visitors.MethodInvokeVisitor.visit(MethodInvokeVisitor.java:58)
*/
/* JADX ERROR: NullPointerException in pass: SimplifyVisitor
java.lang.NullPointerException
*/
public T next(
/*
[29] Method generation error in method: kotlin.sequences.DropWhileSequence$iterator$1.next():T, file: classes3.dex
jadx.core.utils.exceptions.JadxRuntimeException: Method arg registers not loaded: kotlin.sequences.DropWhileSequence$iterator$1.next():T, class status: PROCESS_COMPLETE
at jadx.core.dex.nodes.MethodNode.getArgRegs(MethodNode.java:266)
at jadx.core.codegen.MethodGen.addDefinition(MethodGen.java:132)
at jadx.core.codegen.ClassGen.addMethodCode(ClassGen.java:340)
at jadx.core.codegen.ClassGen.addMethod(ClassGen.java:298)
at jadx.core.codegen.ClassGen.lambda$addInnerClsAndMethods$3(ClassGen.java:267)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258)
*/
/* JADX ERROR: NullPointerException in pass: MethodInvokeVisitor
java.lang.NullPointerException
at jadx.core.dex.visitors.MethodInvokeVisitor.visit(MethodInvokeVisitor.java:58)
*/
/* JADX ERROR: NullPointerException in pass: SimplifyVisitor
java.lang.NullPointerException
*/
public boolean hasNext(
/*
[24] Method generation error in method: kotlin.sequences.DropWhileSequence$iterator$1.hasNext():boolean, file: classes3.dex
jadx.core.utils.exceptions.JadxRuntimeException: Method arg registers not loaded: kotlin.sequences.DropWhileSequence$iterator$1.hasNext():boolean, class status: PROCESS_COMPLETE
at jadx.core.dex.nodes.MethodNode.getArgRegs(MethodNode.java:266)
at jadx.core.codegen.MethodGen.addDefinition(MethodGen.java:132)
at jadx.core.codegen.ClassGen.addMethodCode(ClassGen.java:340)
at jadx.core.codegen.ClassGen.addMethod(ClassGen.java:298)
at jadx.core.codegen.ClassGen.lambda$addInnerClsAndMethods$3(ClassGen.java:267)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258)
*/
} APK: https://drive.google.com/file/d/1qC3tlWs9AtPBpyS6iU9kcSphLryfJOxi/view?usp=sharing |
skylot
added a commit
that referenced
this issue
Sep 27, 2020
Signed-off-by: Skylot <skylot@gmail.com>
@sergey-wowwow fixed! That was a multi-threaded issue caused by missing synchronization. Thanks for the report! |
@skylot |
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Hey, please check class
com.vkontakte.android.audio.contentprovider.AudioContentProvider
this is a pure
for
loop that should be decompiled like soor to an enhanced loop
APK: https://drive.google.com/file/d/1bfQf9vhvg0vmbVlr75J9wyMr0sMk1chZ/view?usp=sharing
The text was updated successfully, but these errors were encountered: