├── 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