├── gradle.properties ├── smali └── src │ ├── main │ ├── resources │ │ └── smali.properties │ └── java │ │ └── org │ │ └── jf │ │ └── smali │ │ └── WithRegister.java │ └── test │ └── resources │ └── LexerTest │ ├── .gitattributes │ ├── CommentTest.smali │ ├── SymbolTest.smali │ ├── CommentTest.tokens │ ├── CharLiteralTest.smali │ ├── ByteLiteralTest.smali │ ├── StringLiteralTest.smali │ ├── ShortLiteralTest.smali │ ├── SymbolTest.tokens │ ├── IntegerLiteralTest.smali │ ├── DirectiveTest.smali │ ├── CharLiteralTest.tokens │ ├── LongLiteralTest.smali │ ├── TypeAndIdentifierTest.smali │ ├── TypeAndIdentifierTest_api29.smali │ ├── MiscTest.smali │ ├── StringLiteralTest.tokens │ ├── ByteLiteralTest.tokens │ ├── ShortLiteralTest.tokens │ └── IntegerLiteralTest.tokens ├── baksmali └── src │ ├── main │ └── resources │ │ └── baksmali.properties │ └── test │ ├── resources │ ├── LocalTest │ │ ├── classes.dex │ │ └── LocalTest.smali │ ├── DuplicateTest │ │ ├── classes.dex │ │ ├── src │ │ │ ├── README │ │ │ ├── DuplicateInstanceFields.smali │ │ │ ├── DuplicateStaticFields.smali │ │ │ ├── DuplicateStaticInstanceFields.smali │ │ │ ├── DuplicateVirtualMethods.smali │ │ │ ├── DuplicateDirectMethods.smali │ │ │ └── DuplicateDirectVirtualMethods.smali │ │ ├── DuplicateInstanceFields.smali │ │ ├── DuplicateStaticFields.smali │ │ ├── DuplicateDirectMethods.smali │ │ ├── DuplicateVirtualMethods.smali │ │ ├── DuplicateStaticInstanceFields.smali │ │ └── DuplicateDirectVirtualMethods.smali │ ├── ConstructorTest │ │ ├── classes.dex │ │ ├── ConstructorTest.smali │ │ └── ConstructorTest2.smali │ ├── InstanceOfTest │ │ └── classes.dex │ ├── ParamListMethodNameTest │ │ └── ParamListMethodName.smali │ ├── UninitRefIdentityTest │ │ └── classes.dex │ ├── MultiSwitchTest │ │ ├── MultiSwitchInput.dex │ │ └── MultiSwitchInput.smali │ ├── FieldGapOrderTest │ │ └── FieldGapOrderInput.dex │ ├── RegisterEqualityOnMergeTest │ │ ├── classes.dex │ │ └── RegisterEqualityOnMerge.smali │ ├── MultipleStartInstructionsTest │ │ └── classes.dex │ ├── ManyRegistersTest │ │ └── ManyRegisters.smali │ ├── ZeroArrayPayloadWidthTest │ │ ├── ZeroArrayPayloadWidthTestInput.dex │ │ └── ZeroArrayPayloadWidthTestOutput.smali │ ├── LargeLocalTest │ │ ├── LargeEndLocal.smali │ │ ├── LargeRestartLocal.smali │ │ └── LargeStartLocal.smali │ ├── InstructionRoundtripTest │ │ ├── ConstMethodType.smali │ │ └── ConstMethodHandle.smali │ ├── SwitchTest │ │ ├── UnorderedSparseSwitchOutput.smali │ │ └── UnorderedSparseSwitchInput.smali │ ├── InterfaceOrderTest │ │ └── InterfaceOrder.smali │ └── HiddenApiRestrictionsRoundtripTest │ │ ├── HiddenApiRestrictionsInput.smali │ │ └── HiddenApiRestrictionsOutput.smali │ ├── smali │ ├── deodex_test1 │ │ ├── randomclass.smali │ │ ├── subclass.smali │ │ └── superclass.smali │ └── deodex_test2 │ │ ├── bootclass_classes │ │ ├── randomclass.smali │ │ ├── subclass1.smali │ │ ├── subclass2.smali │ │ ├── superclass.smali │ │ └── supersuperclass.smali │ │ └── app_classes │ │ └── main.smali │ └── java │ └── org │ └── jf │ └── baksmali │ ├── MultiSwitchTest.java │ ├── SwitchTest.java │ ├── ManyRegistersTest.java │ ├── InterfaceOrderTest.java │ └── ParamListMethodNameTest.java ├── settings.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── dexlib2 ├── src │ ├── test │ │ ├── resources │ │ │ └── accessorTest.dex │ │ └── java │ │ │ └── org │ │ │ └── jf │ │ │ └── dexlib2 │ │ │ └── builder │ │ │ └── LocatedItemsTest.java │ └── main │ │ └── java │ │ └── org │ │ └── jf │ │ └── dexlib2 │ │ ├── writer │ │ ├── io │ │ │ ├── DeferredOutputStreamFactory.java │ │ │ ├── DeferredOutputStream.java │ │ │ ├── DexDataStore.java │ │ │ └── FileDataStore.java │ │ ├── pool │ │ │ └── Markable.java │ │ ├── NullableIndexSection.java │ │ ├── NullableOffsetSection.java │ │ ├── builder │ │ │ ├── BuilderReference.java │ │ │ └── BaseBuilderPool.java │ │ └── EncodedArraySection.java │ │ ├── builder │ │ ├── LocatedLabels.java │ │ ├── LocatedDebugItems.java │ │ ├── ItemWithLocation.java │ │ └── instruction │ │ │ └── BuilderSwitchElement.java │ │ ├── iface │ │ ├── BasicAnnotation.java │ │ ├── debug │ │ │ ├── PrologueEnd.java │ │ │ ├── EpilogueBegin.java │ │ │ ├── EndLocal.java │ │ │ ├── RestartLocal.java │ │ │ └── LocalInfo.java │ │ └── instruction │ │ │ ├── OffsetInstruction.java │ │ │ ├── OneRegisterInstruction.java │ │ │ ├── SwitchElement.java │ │ │ ├── FieldOffsetInstruction.java │ │ │ ├── InlineIndexInstruction.java │ │ │ ├── VtableIndexInstruction.java │ │ │ ├── WideLiteralInstruction.java │ │ │ ├── LongHatLiteralInstruction.java │ │ │ ├── ThreeRegisterInstruction.java │ │ │ ├── TwoRegisterInstruction.java │ │ │ ├── VariableRegisterInstruction.java │ │ │ ├── NarrowHatLiteralInstruction.java │ │ │ ├── NarrowLiteralInstruction.java │ │ │ ├── VerificationErrorInstruction.java │ │ │ ├── formats │ │ │ ├── UnknownInstruction.java │ │ │ ├── Instruction10x.java │ │ │ ├── Instruction10t.java │ │ │ ├── Instruction20t.java │ │ │ ├── Instruction30t.java │ │ │ ├── SparseSwitchPayload.java │ │ │ ├── Instruction11x.java │ │ │ ├── Instruction12x.java │ │ │ ├── Instruction22x.java │ │ │ ├── Instruction32x.java │ │ │ ├── Instruction23x.java │ │ │ ├── Instruction21t.java │ │ │ ├── Instruction22t.java │ │ │ ├── Instruction31t.java │ │ │ ├── Instruction21c.java │ │ │ └── Instruction22c.java │ │ │ ├── RegisterRangeInstruction.java │ │ │ ├── PayloadInstruction.java │ │ │ ├── HatLiteralInstruction.java │ │ │ ├── SwitchPayload.java │ │ │ ├── FiveRegisterInstruction.java │ │ │ └── ReferenceInstruction.java │ │ ├── rewriter │ │ └── Rewriter.java │ │ ├── immutable │ │ └── value │ │ │ └── ImmutableEncodedValue.java │ │ ├── dexbacked │ │ └── DexBackedExceptionHandler.java │ │ └── analysis │ │ └── ClassProvider.java ├── OatVersions-README.md └── accessorTestGenerator │ └── build.gradle ├── examples ├── AnnotationValues │ ├── 10.smali │ ├── SubAnnotation.smali │ ├── Main.smali │ └── Enum.smali ├── Interface │ ├── Interface.smali │ └── Main.smali ├── AnnotationTypes │ ├── ClassAnnotation.smali │ ├── FieldAnnotation.smali │ ├── ParameterAnnotation.smali │ └── MethodAnnotation.smali ├── Enums │ └── Main.smali ├── RecursiveAnnotation │ ├── RecursiveAnnotation.smali │ └── Main.smali ├── InvokeCustom │ ├── Custom.smali │ └── Main.smali ├── RecursiveExceptionHandler │ └── Main.smali ├── HelloWorld │ └── HelloWorld.smali ├── BracketedMemberNames │ └── BracketedMemberNames.smali └── MethodOverloading │ └── Main.smali ├── .gitignore ├── smali-integration-tests └── src │ ├── test │ └── smali │ │ ├── junit-tests │ │ ├── InstructionTests │ │ │ ├── Format35c │ │ │ │ ├── MethodsInterface.smali │ │ │ │ ├── MethodsSuper.smali │ │ │ │ └── Methods.smali │ │ │ ├── Format3rc │ │ │ │ ├── RangeMethodsInterface.smali │ │ │ │ ├── RangeMethodsSuper.smali │ │ │ │ └── RangeMethods.smali │ │ │ ├── Format21c │ │ │ │ ├── StaticFields.smali │ │ │ │ └── StringWrapper.smali │ │ │ ├── Format22c │ │ │ │ └── InstanceFields.smali │ │ │ ├── Format11n │ │ │ │ └── Format11n.smali │ │ │ ├── Format51l │ │ │ │ └── Format51l.smali │ │ │ ├── Format10t │ │ │ │ └── Format10t.smali │ │ │ ├── Format10x │ │ │ │ └── Format10x.smali │ │ │ ├── Format21s │ │ │ │ └── Format21s.smali │ │ │ ├── Format21h │ │ │ │ └── Format21h.smali │ │ │ ├── Format31i │ │ │ │ └── Format31i.smali │ │ │ ├── Format22x │ │ │ │ └── Format22x.smali │ │ │ └── Format32x │ │ │ │ └── Format32x.smali │ │ ├── AnnotationTests │ │ │ └── TestAnnotationClass.smali │ │ ├── LineTest │ │ │ └── LineTest.smali │ │ └── Util │ │ │ └── Assert.smali │ │ └── jumbo-string-tests │ │ └── TestSuite.smali │ └── assemble │ ├── junit-tests.xml │ ├── jumbo-type-tests.xml │ └── jumbo-string-tests.xml ├── deodexerant ├── README └── Android.mk ├── README.md └── util └── src └── main └── java └── org └── jf └── util └── jcommander └── ExtendedParameter.java /gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=true 2 | org.gradle.parallel=true -------------------------------------------------------------------------------- /smali/src/main/resources/smali.properties: -------------------------------------------------------------------------------- 1 | application.version=${version} -------------------------------------------------------------------------------- /baksmali/src/main/resources/baksmali.properties: -------------------------------------------------------------------------------- 1 | application.version=${version} -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include 'util', 'dexlib2', 'baksmali', 'smali', 'dexlib2:accessorTestGenerator' -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JesusFreke/smali/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /smali/src/test/resources/LexerTest/.gitattributes: -------------------------------------------------------------------------------- 1 | # Prevent newlines from being normalized on windows 2 | *.smali -text -------------------------------------------------------------------------------- /dexlib2/src/test/resources/accessorTest.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JesusFreke/smali/HEAD/dexlib2/src/test/resources/accessorTest.dex -------------------------------------------------------------------------------- /baksmali/src/test/resources/LocalTest/classes.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JesusFreke/smali/HEAD/baksmali/src/test/resources/LocalTest/classes.dex -------------------------------------------------------------------------------- /baksmali/src/test/resources/DuplicateTest/classes.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JesusFreke/smali/HEAD/baksmali/src/test/resources/DuplicateTest/classes.dex -------------------------------------------------------------------------------- /smali/src/test/resources/LexerTest/CommentTest.smali: -------------------------------------------------------------------------------- 1 | # 2 | #abcd 3 | # abcd 4 | #0x1234 5 | 0x1234 #0x1234 6 | invoke-virtual #invoke-virtual -------------------------------------------------------------------------------- /baksmali/src/test/resources/ConstructorTest/classes.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JesusFreke/smali/HEAD/baksmali/src/test/resources/ConstructorTest/classes.dex -------------------------------------------------------------------------------- /baksmali/src/test/resources/InstanceOfTest/classes.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JesusFreke/smali/HEAD/baksmali/src/test/resources/InstanceOfTest/classes.dex -------------------------------------------------------------------------------- /baksmali/src/test/resources/ParamListMethodNameTest/ParamListMethodName.smali: -------------------------------------------------------------------------------- 1 | .class Lblah; 2 | .super Ljava/lang/Object; 3 | 4 | .method public abstract II()V 5 | .end method -------------------------------------------------------------------------------- /baksmali/src/test/resources/UninitRefIdentityTest/classes.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JesusFreke/smali/HEAD/baksmali/src/test/resources/UninitRefIdentityTest/classes.dex -------------------------------------------------------------------------------- /examples/AnnotationValues/10.smali: -------------------------------------------------------------------------------- 1 | .class public L10; 2 | .super Ljava/lang/Object; 3 | 4 | .method public static 11()V 5 | .registers 0 6 | return-void 7 | .end method -------------------------------------------------------------------------------- /baksmali/src/test/resources/MultiSwitchTest/MultiSwitchInput.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JesusFreke/smali/HEAD/baksmali/src/test/resources/MultiSwitchTest/MultiSwitchInput.dex -------------------------------------------------------------------------------- /baksmali/src/test/resources/FieldGapOrderTest/FieldGapOrderInput.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JesusFreke/smali/HEAD/baksmali/src/test/resources/FieldGapOrderTest/FieldGapOrderInput.dex -------------------------------------------------------------------------------- /baksmali/src/test/resources/RegisterEqualityOnMergeTest/classes.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JesusFreke/smali/HEAD/baksmali/src/test/resources/RegisterEqualityOnMergeTest/classes.dex -------------------------------------------------------------------------------- /baksmali/src/test/resources/DuplicateTest/src/README: -------------------------------------------------------------------------------- 1 | The test dex file was produced from these smali files, using 2 | an old version of smali that doesn't check for field/method 3 | duplicates -------------------------------------------------------------------------------- /baksmali/src/test/resources/MultipleStartInstructionsTest/classes.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JesusFreke/smali/HEAD/baksmali/src/test/resources/MultipleStartInstructionsTest/classes.dex -------------------------------------------------------------------------------- /examples/Interface/Interface.smali: -------------------------------------------------------------------------------- 1 | .class public abstract interface LInterface; 2 | .super Ljava/lang/Object; 3 | 4 | .method public abstract interfaceMethod()Ljava/lang/String; 5 | .end method -------------------------------------------------------------------------------- /examples/AnnotationTypes/ClassAnnotation.smali: -------------------------------------------------------------------------------- 1 | .class public abstract interface annotation LClassAnnotation; 2 | .super Ljava/lang/Object; 3 | .implements Ljava/lang/annotation/Annotation; 4 | 5 | -------------------------------------------------------------------------------- /examples/AnnotationTypes/FieldAnnotation.smali: -------------------------------------------------------------------------------- 1 | .class public abstract interface annotation LFieldAnnotation; 2 | .super Ljava/lang/Object; 3 | .implements Ljava/lang/annotation/Annotation; 4 | 5 | -------------------------------------------------------------------------------- /examples/AnnotationTypes/ParameterAnnotation.smali: -------------------------------------------------------------------------------- 1 | .class public abstract interface annotation LParameterAnnotation; 2 | .super Ljava/lang/Object; 3 | .implements Ljava/lang/annotation/Annotation; -------------------------------------------------------------------------------- /examples/AnnotationTypes/MethodAnnotation.smali: -------------------------------------------------------------------------------- 1 | .class public abstract interface annotation LMethodAnnotation; 2 | .super Ljava/lang/Object; 3 | .implements Ljava/lang/annotation/Annotation; 4 | 5 | -------------------------------------------------------------------------------- /smali/src/test/resources/LexerTest/SymbolTest.smali: -------------------------------------------------------------------------------- 1 | .. 2 | -> 3 | = 4 | : 5 | , 6 | {}() 7 | { } ( ) 8 | { 9 | } 10 | ( 11 | ) 12 | @ 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /baksmali/src/test/resources/ManyRegistersTest/ManyRegisters.smali: -------------------------------------------------------------------------------- 1 | .class LManyRegisters; 2 | .super Ljava/lang/Object; 3 | 4 | .method public manyRegisters()V 5 | .registers 65535 6 | return-void 7 | .end method -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.gradle 2 | /baksmali/build 3 | /dexlib/build 4 | /dexlib2/build 5 | /dexlib2/accessorTestGenerator/build 6 | /smali/build 7 | /util/build 8 | /smalidea/build 9 | *.iml 10 | *.ipr 11 | *.iws 12 | .idea 13 | -------------------------------------------------------------------------------- /baksmali/src/test/resources/ZeroArrayPayloadWidthTest/ZeroArrayPayloadWidthTestInput.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JesusFreke/smali/HEAD/baksmali/src/test/resources/ZeroArrayPayloadWidthTest/ZeroArrayPayloadWidthTestInput.dex -------------------------------------------------------------------------------- /smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/MethodsInterface.smali: -------------------------------------------------------------------------------- 1 | .class public abstract interface LMethodsInterface; 2 | .super Ljava/lang/Object; 3 | 4 | .method public abstract interfaceMethodTest()I 5 | .end method -------------------------------------------------------------------------------- /baksmali/src/test/resources/DuplicateTest/src/DuplicateInstanceFields.smali: -------------------------------------------------------------------------------- 1 | .class public LDuplicateInstanceFields; 2 | .super Ljava/lang/Object; 3 | 4 | .field public alah:I 5 | 6 | .field public blah:I 7 | .field public blah:I 8 | 9 | .field public clah:I -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-all.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /examples/AnnotationValues/SubAnnotation.smali: -------------------------------------------------------------------------------- 1 | .class public abstract interface annotation LSubAnnotation; 2 | .super Ljava/lang/Object; 3 | .implements Ljava/lang/annotation/Annotation; 4 | 5 | .method public abstract stringValue()Ljava/lang/String; 6 | .end method -------------------------------------------------------------------------------- /smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/RangeMethodsInterface.smali: -------------------------------------------------------------------------------- 1 | .class public abstract interface LRangeMethodsInterface; 2 | .super Ljava/lang/Object; 3 | 4 | .method public abstract interfaceMethodTest(IIIIII)I 5 | .end method -------------------------------------------------------------------------------- /baksmali/src/test/resources/DuplicateTest/src/DuplicateStaticFields.smali: -------------------------------------------------------------------------------- 1 | .class public LDuplicateStaticFields; 2 | .super Ljava/lang/Object; 3 | 4 | .field public static alah:I 5 | 6 | .field public static blah:I 7 | .field public static blah:I 8 | 9 | .field public static clah:I -------------------------------------------------------------------------------- /dexlib2/src/main/java/org/jf/dexlib2/writer/io/DeferredOutputStreamFactory.java: -------------------------------------------------------------------------------- 1 | package org.jf.dexlib2.writer.io; 2 | 3 | import java.io.IOException; 4 | 5 | public interface DeferredOutputStreamFactory { 6 | DeferredOutputStream makeDeferredOutputStream() throws IOException; 7 | } 8 | -------------------------------------------------------------------------------- /baksmali/src/test/resources/LargeLocalTest/LargeEndLocal.smali: -------------------------------------------------------------------------------- 1 | .class LLargeRestartLocal; 2 | .super Ljava/lang/Object; 3 | 4 | 5 | # virtual methods 6 | .method public static main([Ljava/lang/String;)V 7 | .registers 2 8 | 9 | .end local p99 10 | return-void 11 | .end method 12 | -------------------------------------------------------------------------------- /baksmali/src/test/resources/LargeLocalTest/LargeRestartLocal.smali: -------------------------------------------------------------------------------- 1 | .class LLargeEndLocal; 2 | .super Ljava/lang/Object; 3 | 4 | 5 | # virtual methods 6 | .method public static main([Ljava/lang/String;)V 7 | .registers 2 8 | 9 | .restart local p99 10 | return-void 11 | .end method 12 | -------------------------------------------------------------------------------- /baksmali/src/test/resources/LargeLocalTest/LargeStartLocal.smali: -------------------------------------------------------------------------------- 1 | .class LLargeStartLocal; 2 | .super Ljava/lang/Object; 3 | 4 | 5 | # virtual methods 6 | .method public static main([Ljava/lang/String;)V 7 | .registers 2 8 | 9 | .local p99, "blah":I 10 | return-void 11 | .end method 12 | -------------------------------------------------------------------------------- /baksmali/src/test/resources/DuplicateTest/DuplicateInstanceFields.smali: -------------------------------------------------------------------------------- 1 | .class public LDuplicateInstanceFields; 2 | .super Ljava/lang/Object; 3 | 4 | 5 | # instance fields 6 | .field public alah:I 7 | 8 | .field public blah:I 9 | 10 | # duplicate field ignored 11 | # .field public blah:I 12 | 13 | .field public clah:I 14 | -------------------------------------------------------------------------------- /dexlib2/src/main/java/org/jf/dexlib2/writer/io/DeferredOutputStream.java: -------------------------------------------------------------------------------- 1 | package org.jf.dexlib2.writer.io; 2 | 3 | import java.io.IOException; 4 | import java.io.OutputStream; 5 | 6 | public abstract class DeferredOutputStream extends OutputStream { 7 | public abstract void writeTo(OutputStream output) throws IOException; 8 | } 9 | -------------------------------------------------------------------------------- /baksmali/src/test/resources/DuplicateTest/src/DuplicateStaticInstanceFields.smali: -------------------------------------------------------------------------------- 1 | .class public LDuplicateStaticInstanceFields; 2 | .super Ljava/lang/Object; 3 | 4 | .field public alah:I 5 | 6 | .field public blah:I 7 | .field public blah:I 8 | .field static public blah:I 9 | .field static public blah:I 10 | 11 | .field public clah:I -------------------------------------------------------------------------------- /baksmali/src/test/resources/DuplicateTest/DuplicateStaticFields.smali: -------------------------------------------------------------------------------- 1 | .class public LDuplicateStaticFields; 2 | .super Ljava/lang/Object; 3 | 4 | 5 | # static fields 6 | .field public static alah:I 7 | 8 | .field public static blah:I 9 | 10 | # duplicate field ignored 11 | # .field public static blah:I 12 | 13 | .field public static clah:I 14 | -------------------------------------------------------------------------------- /baksmali/src/test/resources/ZeroArrayPayloadWidthTest/ZeroArrayPayloadWidthTestOutput.smali: -------------------------------------------------------------------------------- 1 | .class public LZeroArrayPayloadWidthTest; 2 | .super Ljava/lang/Object; 3 | 4 | 5 | # virtual methods 6 | .method public zeroWidth()V 7 | .registers 3 8 | 9 | return-void 10 | 11 | nop 12 | 13 | .array-data 1 14 | .end array-data 15 | .end method 16 | -------------------------------------------------------------------------------- /smali-integration-tests/src/test/smali/jumbo-string-tests/TestSuite.smali: -------------------------------------------------------------------------------- 1 | .class public LAllTests; 2 | .super Ljava/lang/Object; 3 | 4 | .annotation runtime Lorg/junit/runner/RunWith; 5 | value = Lorg/junit/runners/Suite; 6 | .end annotation 7 | 8 | .annotation runtime Lorg/junit/runners/Suite$SuiteClasses; 9 | value = { LFormat31c; } 10 | .end annotation 11 | -------------------------------------------------------------------------------- /smali-integration-tests/src/assemble/junit-tests.xml: -------------------------------------------------------------------------------- 1 | 2 | zip 3 | 4 | zip 5 | 6 | false 7 | 8 | 9 | target/junit-tests/classes.dex 10 | / 11 | 12 | 13 | -------------------------------------------------------------------------------- /dexlib2/src/main/java/org/jf/dexlib2/builder/LocatedLabels.java: -------------------------------------------------------------------------------- 1 | package org.jf.dexlib2.builder; 2 | 3 | public class LocatedLabels extends LocatedItems