Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
halo
dalvik
Commits
99409883
Commit
99409883
authored
16 years ago
by
The Android Open Source Project
Browse files
Options
Download
Email Patches
Plain Diff
auto import //branches/master/...@140412
parent
27e65e50
master
eclair-passion-release
eclair-release
eclair-sholes-release
eclair-sholes-release2
froyo
froyo-release
gingerbread
gingerbread-mr4-release
gingerbread-release
halo-dev
halo-rk312x-5.1.0_r5
ics-factoryrom-2-release
ics-mr0
ics-mr0-release
ics-mr1
ics-mr1-release
ics-plus-aosp
idea133
idea133-weekly-release
jb-dev
jb-mr0-release
jb-mr1-dev
jb-mr1-dev-plus-aosp
jb-mr1-release
jb-mr1.1-dev
jb-mr1.1-dev-plus-aosp
jb-mr1.1-release
jb-mr2-dev
jb-mr2-release
jb-mr2.0-release
jb-mr2.0.0-release
jb-release
kitkat-cts-dev
kitkat-cts-release
kitkat-dev
kitkat-mr1-release
kitkat-mr1.1-release
kitkat-mr2-release
kitkat-mr2.1-release
kitkat-mr2.2-release
kitkat-release
kitkat-wear
l-preview
lollipop-cts-release
lollipop-dev
lollipop-mr1-cts-release
lollipop-mr1-dev
lollipop-mr1-fi-release
lollipop-mr1-release
lollipop-mr1-wfc-release
lollipop-release
lollipop-wear-release
marshmallow-cts-release
marshmallow-dev
marshmallow-dr-dev
marshmallow-dr-dragon-release
marshmallow-dr-release
marshmallow-dr1.5-dev
marshmallow-dr1.5-release
marshmallow-dr1.6-release
marshmallow-mr1-dev
marshmallow-mr1-release
marshmallow-mr2-release
marshmallow-mr3-release
marshmallow-release
master-soong
nougat-cts-release
nougat-dev
nougat-dr1-release
nougat-mr0.5-release
nougat-mr1-cts-release
nougat-mr1-dev
nougat-mr1-release
nougat-mr1.1-release
nougat-mr1.2-release
nougat-release
rockchip-5.1.0_r5
sdk-release
tools_r20
tools_r21
tools_r22
tools_r22.2
android-wear-n-preview-2
android-wear-n-preview-1
android-wear-5.1.1_r1
android-wear-5.1.0_r1
android-wear-5.0.0_r1
android-sdk-support_r11
android-sdk-adt_r20
android-sdk-adt_r16.0.1
android-sdk-4.4.2_r1.0.1
android-sdk-4.4.2_r1
android-sdk-4.0.3_r1
android-sdk-4.0.3-tools_r1
android-n-preview-5
android-n-preview-4
android-n-preview-3
android-n-preview-2
android-n-preview-1
android-n-mr1-preview-2
android-n-mr1-preview-1
android-m-preview
android-m-preview-2
android-m-preview-1
android-l-preview_r2
android-cts-verifier-4.0.3_r1
android-cts-verifier-4.0_r1
android-cts-7.1_r1
android-cts-7.0_r5
android-cts-7.0_r4
android-cts-7.0_r3
android-cts-7.0_r2
android-cts-7.0_r1
android-cts-6.0_r14
android-cts-6.0_r13
android-cts-6.0_r12
android-cts-6.0_r9
android-cts-6.0_r8
android-cts-6.0_r7
android-cts-6.0_r6
android-cts-6.0_r5
android-cts-6.0_r4
android-cts-6.0_r3
android-cts-6.0_r2
android-cts-6.0_r1
android-cts-5.1_r15
android-cts-5.1_r14
android-cts-5.1_r13
android-cts-5.1_r10
android-cts-5.1_r9
android-cts-5.1_r8
android-cts-5.1_r7
android-cts-5.1_r6
android-cts-5.1_r5
android-cts-5.1_r4
android-cts-5.1_r3
android-cts-5.1_r2
android-cts-5.1_r1
android-cts-5.0_r9
android-cts-5.0_r8
android-cts-5.0_r7
android-cts-5.0_r6
android-cts-5.0_r5
android-cts-5.0_r4
android-cts-5.0_r3
android-cts-4.4_r4
android-cts-4.4_r1
android-cts-4.2_r2
android-cts-4.2_r1
android-cts-4.1_r4
android-cts-4.1_r2
android-cts-4.1_r1
android-cts-4.0.3_r2
android-cts-4.0.3_r1
android-cts-4.0_r1
android-cts-2.3_r12
android-cts-2.3_r11
android-cts-2.3_r10
android-cts-2.2_r8
android-7.1.1_r13
android-7.1.1_r12
android-7.1.1_r11
android-7.1.1_r10
android-7.1.1_r9
android-7.1.1_r8
android-7.1.1_r7
android-7.1.1_r6
android-7.1.1_r4
android-7.1.1_r3
android-7.1.1_r2
android-7.1.1_r1
android-7.1.0_r7
android-7.1.0_r6
android-7.1.0_r5
android-7.1.0_r4
android-7.1.0_r3
android-7.1.0_r2
android-7.1.0_r1
android-7.0.0_r27
android-7.0.0_r24
android-7.0.0_r21
android-7.0.0_r19
android-7.0.0_r17
android-7.0.0_r15
android-7.0.0_r14
android-7.0.0_r13
android-7.0.0_r12
android-7.0.0_r7
android-7.0.0_r6
android-7.0.0_r5
android-7.0.0_r4
android-7.0.0_r3
android-7.0.0_r1
android-6.0.1_r78
android-6.0.1_r77
android-6.0.1_r74
android-6.0.1_r73
android-6.0.1_r72
android-6.0.1_r70
android-6.0.1_r69
android-6.0.1_r68
android-6.0.1_r67
android-6.0.1_r66
android-6.0.1_r65
android-6.0.1_r63
android-6.0.1_r62
android-6.0.1_r61
android-6.0.1_r60
android-6.0.1_r59
android-6.0.1_r58
android-6.0.1_r57
android-6.0.1_r56
android-6.0.1_r55
android-6.0.1_r54
android-6.0.1_r53
android-6.0.1_r52
android-6.0.1_r51
android-6.0.1_r50
android-6.0.1_r49
android-6.0.1_r48
android-6.0.1_r47
android-6.0.1_r46
android-6.0.1_r45
android-6.0.1_r43
android-6.0.1_r42
android-6.0.1_r41
android-6.0.1_r40
android-6.0.1_r33
android-6.0.1_r32
android-6.0.1_r31
android-6.0.1_r30
android-6.0.1_r28
android-6.0.1_r27
android-6.0.1_r26
android-6.0.1_r25
android-6.0.1_r24
android-6.0.1_r22
android-6.0.1_r21
android-6.0.1_r20
android-6.0.1_r18
android-6.0.1_r17
android-6.0.1_r16
android-6.0.1_r13
android-6.0.1_r12
android-6.0.1_r11
android-6.0.1_r10
android-6.0.1_r9
android-6.0.1_r8
android-6.0.1_r7
android-6.0.1_r5
android-6.0.1_r4
android-6.0.1_r3
android-6.0.1_r1
android-6.0.0_r41
android-6.0.0_r26
android-6.0.0_r25
android-6.0.0_r24
android-6.0.0_r23
android-6.0.0_r13
android-6.0.0_r12
android-6.0.0_r11
android-6.0.0_r7
android-6.0.0_r6
android-6.0.0_r5
android-6.0.0_r4
android-6.0.0_r3
android-6.0.0_r2
android-6.0.0_r1
android-5.1.1_r38
android-5.1.1_r37
android-5.1.1_r36
android-5.1.1_r35
android-5.1.1_r34
android-5.1.1_r33
android-5.1.1_r30
android-5.1.1_r29
android-5.1.1_r28
android-5.1.1_r26
android-5.1.1_r25
android-5.1.1_r24
android-5.1.1_r23
android-5.1.1_r22
android-5.1.1_r20
android-5.1.1_r19
android-5.1.1_r18
android-5.1.1_r17
android-5.1.1_r16
android-5.1.1_r15
android-5.1.1_r14
android-5.1.1_r13
android-5.1.1_r12
android-5.1.1_r10
android-5.1.1_r9
android-5.1.1_r8
android-5.1.1_r7
android-5.1.1_r6
android-5.1.1_r5
android-5.1.1_r4
android-5.1.1_r3
android-5.1.1_r2
android-5.1.1_r1
android-5.1.0_r5
android-5.1.0_r4
android-5.1.0_r3
android-5.1.0_r1
android-5.0.2_r3
android-5.0.2_r1
android-5.0.1_r1
android-5.0.0_r7
android-5.0.0_r6
android-5.0.0_r5.1
android-5.0.0_r5
android-5.0.0_r4
android-5.0.0_r3
android-5.0.0_r2
android-5.0.0_r1
android-4.4.4_r2.0.1
android-4.4.4_r2
android-4.4.4_r1.0.1
android-4.4.4_r1
android-4.4.3_r1.1.0.1
android-4.4.3_r1.1
android-4.4.3_r1.0.1
android-4.4.3_r1
android-4.4.2_r2.0.1
android-4.4.2_r2
android-4.4.2_r1.0.1
android-4.4.2_r1
android-4.4.1_r1.0.1
android-4.4.1_r1
android-4.4w_r1
android-4.4_r1.2.0.1
android-4.4_r1.2
android-4.4_r1.1.0.1
android-4.4_r1.1
android-4.4_r1.0.1
android-4.4_r1
android-4.4_r0.9
android-4.4_r0.8
android-4.4_r0.7
android-4.3.1_r1
android-4.3_r3.1
android-4.3_r3
android-4.3_r2.3
android-4.3_r2.2
android-4.3_r2.1
android-4.3_r2
android-4.3_r1.1
android-4.3_r1
android-4.3_r0.9.1
android-4.3_r0.9
android-4.2.2_r1.2
android-4.2.2_r1.1
android-4.2.2_r1
android-4.2.1_r1.2
android-4.2.1_r1.1
android-4.2.1_r1
android-4.2_r1
android-4.1.2_r2.1
android-4.1.2_r2
android-4.1.2_r1
android-4.1.1_r6.1
android-4.1.1_r6
android-4.1.1_r5
android-4.1.1_r4
android-4.1.1_r3
android-4.1.1_r2
android-4.1.1_r1.1
android-4.1.1_r1
android-4.0.4_r2.1
android-4.0.4_r2
android-4.0.4_r1.2
android-4.0.4_r1.1
android-4.0.4_r1
android-4.0.3_r1.1
android-4.0.3_r1
android-4.0.2_r1
android-4.0.1_r1.2
android-4.0.1_r1.1
android-4.0.1_r1
android-2.3.7_r1
android-2.3.6_r1
android-2.3.6_r0.9
android-2.3.5_r1
android-2.3.4_r1
android-2.3.4_r0.9
android-2.3.3_r1.1
android-2.3.3_r1
android-2.3.2_r1
android-2.3.1_r1
android-2.3_r1
android-2.2.3_r2.1
android-2.2.3_r2
android-2.2.3_r1
android-2.2.2_r1
android-2.2.1_r2
android-2.2.1_r1
android-2.2_r1.3
android-2.2_r1.2
android-2.2_r1.1
android-2.2_r1
android-2.1_r2.1s
android-2.1_r2.1p2
android-2.1_r2.1p
android-2.1_r2
android-2.1_r1
android-2.0.1_r1
android-2.0_r1
No related merge requests found
Changes
375
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
280 additions
and
100 deletions
+280
-100
dalvikvm/Main.c
dalvikvm/Main.c
+1
-1
dexdump/DexDump.c
dexdump/DexDump.c
+182
-2
dx/src/com/android/dx/Version.java
dx/src/com/android/dx/Version.java
+1
-1
dx/src/com/android/dx/cf/attrib/AttAnnotationDefault.java
dx/src/com/android/dx/cf/attrib/AttAnnotationDefault.java
+7
-7
dx/src/com/android/dx/cf/attrib/AttCode.java
dx/src/com/android/dx/cf/attrib/AttCode.java
+17
-17
dx/src/com/android/dx/cf/attrib/AttConstantValue.java
dx/src/com/android/dx/cf/attrib/AttConstantValue.java
+11
-11
dx/src/com/android/dx/cf/attrib/AttDeprecated.java
dx/src/com/android/dx/cf/attrib/AttDeprecated.java
+2
-2
dx/src/com/android/dx/cf/attrib/AttEnclosingMethod.java
dx/src/com/android/dx/cf/attrib/AttEnclosingMethod.java
+8
-8
dx/src/com/android/dx/cf/attrib/AttExceptions.java
dx/src/com/android/dx/cf/attrib/AttExceptions.java
+7
-7
dx/src/com/android/dx/cf/attrib/AttInnerClasses.java
dx/src/com/android/dx/cf/attrib/AttInnerClasses.java
+5
-5
dx/src/com/android/dx/cf/attrib/AttLineNumberTable.java
dx/src/com/android/dx/cf/attrib/AttLineNumberTable.java
+5
-5
dx/src/com/android/dx/cf/attrib/AttLocalVariableTable.java
dx/src/com/android/dx/cf/attrib/AttLocalVariableTable.java
+3
-3
dx/src/com/android/dx/cf/attrib/AttLocalVariableTypeTable.java
...c/com/android/dx/cf/attrib/AttLocalVariableTypeTable.java
+3
-3
dx/src/com/android/dx/cf/attrib/AttRuntimeInvisibleAnnotations.java
.../android/dx/cf/attrib/AttRuntimeInvisibleAnnotations.java
+4
-4
dx/src/com/android/dx/cf/attrib/AttRuntimeInvisibleParameterAnnotations.java
...dx/cf/attrib/AttRuntimeInvisibleParameterAnnotations.java
+4
-4
dx/src/com/android/dx/cf/attrib/AttRuntimeVisibleAnnotations.java
...om/android/dx/cf/attrib/AttRuntimeVisibleAnnotations.java
+4
-4
dx/src/com/android/dx/cf/attrib/AttRuntimeVisibleParameterAnnotations.java
...d/dx/cf/attrib/AttRuntimeVisibleParameterAnnotations.java
+4
-4
dx/src/com/android/dx/cf/attrib/AttSignature.java
dx/src/com/android/dx/cf/attrib/AttSignature.java
+5
-5
dx/src/com/android/dx/cf/attrib/AttSourceFile.java
dx/src/com/android/dx/cf/attrib/AttSourceFile.java
+5
-5
dx/src/com/android/dx/cf/attrib/AttSynthetic.java
dx/src/com/android/dx/cf/attrib/AttSynthetic.java
+2
-2
No files found.
dalvikvm/Main.c
View file @
99409883
...
...
@@ -115,7 +115,7 @@ static int methodIsPublic(JNIEnv* env, jclass clazz, jmethodID methodId)
}
getModifiersId
=
(
*
env
)
->
GetMethodID
(
env
,
methodClass
,
"getModifiers"
,
"()I"
);
if
(
m
et
h
od
Class
==
NULL
)
{
if
(
g
et
M
od
ifiersId
==
NULL
)
{
fprintf
(
stderr
,
"Dalvik VM unable to find reflect.Method.getModifiers
\n
"
);
goto
bail
;
}
...
...
This diff is collapsed.
Click to expand it.
dexdump/DexDump.c
View file @
99409883
...
...
@@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* The "dexdump" tool is intended to mimic "objdump". When possible, use
* similar command-line arguments.
...
...
@@ -48,6 +49,7 @@ struct {
bool
disassemble
;
bool
showFileHeaders
;
bool
showSectionHeaders
;
bool
dumpRegisterMaps
;
const
char
*
tempFileName
;
}
gOptions
;
...
...
@@ -66,6 +68,14 @@ static inline u2 get2LE(unsigned char const* pSrc)
return
pSrc
[
0
]
|
(
pSrc
[
1
]
<<
8
);
}
/*
* Get 4 little-endian bytes.
*/
static
inline
u4
get4LE
(
unsigned
char
const
*
pSrc
)
{
return
pSrc
[
0
]
|
(
pSrc
[
1
]
<<
8
)
|
(
pSrc
[
2
]
<<
16
)
|
(
pSrc
[
3
]
<<
24
);
}
/*
* Return a newly-allocated string for the "dot version" of the class
* name for the given type descriptor. That is, The initial "L" and
...
...
@@ -958,6 +968,8 @@ void dumpIField(const DexFile* pDexFile, const DexField* pIField, int i)
/*
* Dump the class.
*
* Note "idx" is a DexClassDef index, not a DexTypeId index.
*/
void
dumpClass
(
DexFile
*
pDexFile
,
int
idx
)
{
...
...
@@ -1039,6 +1051,164 @@ void dumpClass(DexFile* pDexFile, int idx)
free
(
accessStr
);
}
/*
* Advance "ptr" to ensure 32-bit alignment.
*/
static
inline
const
u1
*
align32
(
const
u1
*
ptr
)
{
return
(
u1
*
)
(((
int
)
ptr
+
3
)
&
~
0x03
);
}
/*
* Dump register map contents of the current method.
*
* "*pData" should point to the start of the register map data. Advances
* "*pData" to the start of the next map.
*/
void
dumpMethodMap
(
DexFile
*
pDexFile
,
const
DexMethod
*
pDexMethod
,
int
idx
,
const
u1
**
pData
)
{
const
u1
*
data
=
*
pData
;
const
DexMethodId
*
pMethodId
;
const
char
*
name
;
int
offset
=
data
-
(
u1
*
)
pDexFile
->
pOptHeader
;
pMethodId
=
dexGetMethodId
(
pDexFile
,
pDexMethod
->
methodIdx
);
name
=
dexStringById
(
pDexFile
,
pMethodId
->
nameIdx
);
printf
(
" #%d: 0x%08x %s
\n
"
,
idx
,
offset
,
name
);
u1
format
;
int
addrWidth
;
format
=
*
data
++
;
if
(
format
==
1
)
{
/* kRegMapFormatNone */
/* no map */
printf
(
" (no map)
\n
"
);
addrWidth
=
0
;
}
else
if
(
format
==
2
)
{
/* kRegMapFormatCompact8 */
addrWidth
=
1
;
}
else
if
(
format
==
3
)
{
/* kRegMapFormatCompact16 */
addrWidth
=
2
;
}
else
{
printf
(
" (unknown format %d!)
\n
"
,
format
);
addrWidth
=
-
1
;
}
if
(
addrWidth
>
0
)
{
u1
regWidth
;
u2
numEntries
;
int
idx
,
addr
,
byte
;
regWidth
=
*
data
++
;
numEntries
=
*
data
++
;
numEntries
|=
(
*
data
++
)
<<
8
;
for
(
idx
=
0
;
idx
<
numEntries
;
idx
++
)
{
addr
=
*
data
++
;
if
(
addrWidth
>
1
)
addr
|=
(
*
data
++
)
<<
8
;
printf
(
" %4x:"
,
addr
);
for
(
byte
=
0
;
byte
<
regWidth
;
byte
++
)
{
printf
(
" %02x"
,
*
data
++
);
}
printf
(
"
\n
"
);
}
}
//if (addrWidth >= 0)
// *pData = align32(data);
*
pData
=
data
;
}
/*
* Dump the contents of the register map area.
*
* These are only present in optimized DEX files, and the structure is
* not really exposed to other parts of the VM itself. We're going to
* dig through them here, but this is pretty fragile. DO NOT rely on
* this or derive other code from it.
*/
void
dumpRegisterMaps
(
DexFile
*
pDexFile
)
{
const
u1
*
pClassPool
=
pDexFile
->
pRegisterMapPool
;
const
u4
*
classOffsets
;
const
u1
*
ptr
;
u4
numClasses
;
int
baseFileOffset
=
(
u1
*
)
pClassPool
-
(
u1
*
)
pDexFile
->
pOptHeader
;
int
idx
;
if
(
pClassPool
==
NULL
)
{
printf
(
"No register maps found
\n
"
);
return
;
}
ptr
=
pClassPool
;
numClasses
=
get4LE
(
ptr
);
ptr
+=
sizeof
(
u4
);
classOffsets
=
(
const
u4
*
)
ptr
;
printf
(
"RMAP begins at offset 0x%07x
\n
"
,
baseFileOffset
);
printf
(
"Maps for %d classes
\n
"
,
numClasses
);
for
(
idx
=
0
;
idx
<
(
int
)
numClasses
;
idx
++
)
{
const
DexClassDef
*
pClassDef
;
const
char
*
classDescriptor
;
pClassDef
=
dexGetClassDef
(
pDexFile
,
idx
);
classDescriptor
=
dexStringByTypeIdx
(
pDexFile
,
pClassDef
->
classIdx
);
printf
(
"%4d: +%d (0x%08x) %s
\n
"
,
idx
,
classOffsets
[
idx
],
baseFileOffset
+
classOffsets
[
idx
],
classDescriptor
);
if
(
classOffsets
[
idx
]
==
0
)
continue
;
/*
* What follows is a series of RegisterMap entries, one for every
* direct method, then one for every virtual method.
*/
DexClassData
*
pClassData
;
const
u1
*
pEncodedData
;
const
u1
*
data
=
(
u1
*
)
pClassPool
+
classOffsets
[
idx
];
u2
methodCount
;
int
i
;
pEncodedData
=
dexGetClassData
(
pDexFile
,
pClassDef
);
pClassData
=
dexReadAndVerifyClassData
(
&
pEncodedData
,
NULL
);
if
(
pClassData
==
NULL
)
{
fprintf
(
stderr
,
"Trouble reading class data
\n
"
);
continue
;
}
methodCount
=
*
data
++
;
methodCount
|=
(
*
data
++
)
<<
8
;
data
+=
2
;
/* two pad bytes follow methodCount */
if
(
methodCount
!=
pClassData
->
header
.
directMethodsSize
+
pClassData
->
header
.
virtualMethodsSize
)
{
printf
(
"NOTE: method count discrepancy (%d != %d + %d)
\n
"
,
methodCount
,
pClassData
->
header
.
directMethodsSize
,
pClassData
->
header
.
virtualMethodsSize
);
/* this is bad, but keep going anyway */
}
printf
(
" direct methods: %d
\n
"
,
pClassData
->
header
.
directMethodsSize
);
for
(
i
=
0
;
i
<
(
int
)
pClassData
->
header
.
directMethodsSize
;
i
++
)
{
dumpMethodMap
(
pDexFile
,
&
pClassData
->
directMethods
[
i
],
i
,
&
data
);
}
printf
(
" virtual methods: %d
\n
"
,
pClassData
->
header
.
virtualMethodsSize
);
for
(
i
=
0
;
i
<
(
int
)
pClassData
->
header
.
virtualMethodsSize
;
i
++
)
{
dumpMethodMap
(
pDexFile
,
&
pClassData
->
virtualMethods
[
i
],
i
,
&
data
);
}
free
(
pClassData
);
}
}
/*
* Dump the requested sections of the file.
*/
...
...
@@ -1049,6 +1219,11 @@ void processDexFile(const char* fileName, DexFile* pDexFile)
printf
(
"Opened '%s', DEX version '%.3s'
\n
"
,
fileName
,
pDexFile
->
pHeader
->
magic
+
4
);
if
(
gOptions
.
dumpRegisterMaps
)
{
dumpRegisterMaps
(
pDexFile
);
return
;
}
if
(
gOptions
.
showFileHeaders
)
dumpFileHeader
(
pDexFile
);
...
...
@@ -1103,11 +1278,13 @@ bail:
void
usage
(
void
)
{
fprintf
(
stderr
,
"Copyright (C) 2007 The Android Open Source Project
\n\n
"
);
fprintf
(
stderr
,
"%s: [-d] [-f] [-h] [-t tempfile] dexfile...
\n
"
,
gProgName
);
fprintf
(
stderr
,
"%s: [-d] [-f] [-h] [-m] [-t tempfile] dexfile...
\n
"
,
gProgName
);
fprintf
(
stderr
,
"
\n
"
);
fprintf
(
stderr
,
" -d : disassemble code sections
\n
"
);
fprintf
(
stderr
,
" -f : display summary information from file header
\n
"
);
fprintf
(
stderr
,
" -h : display file header details
\n
"
);
fprintf
(
stderr
,
" -m : dump register maps (and nothing else)
\n
"
);
fprintf
(
stderr
,
" -t : temp file name (defaults to /sdcard/dex-temp-*)
\n
"
);
}
...
...
@@ -1124,7 +1301,7 @@ int main(int argc, char* const argv[])
memset
(
&
gOptions
,
0
,
sizeof
(
gOptions
));
while
(
1
)
{
ic
=
getopt
(
argc
,
argv
,
"dfht:"
);
ic
=
getopt
(
argc
,
argv
,
"dfh
m
t:"
);
if
(
ic
<
0
)
break
;
...
...
@@ -1138,6 +1315,9 @@ int main(int argc, char* const argv[])
case
'h'
:
// dump section headers, i.e. all meta-data
gOptions
.
showSectionHeaders
=
true
;
break
;
case
'm'
:
// dump register maps only
gOptions
.
dumpRegisterMaps
=
true
;
break
;
case
't'
:
// temp file, used when opening compressed Jar
gOptions
.
tempFileName
=
argv
[
optind
];
break
;
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/Version.java
View file @
99409883
...
...
@@ -20,6 +20,6 @@ package com.android.dx;
* Version number for dx.
*/
public
class
Version
{
/** non-null; version string */
/**
{@code
non-null;
}
version string */
public
static
final
String
VERSION
=
"1.2"
;
}
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttAnnotationDefault.java
View file @
99409883
...
...
@@ -19,24 +19,24 @@ package com.android.dx.cf.attrib;
import
com.android.dx.rop.cst.Constant
;
/**
* Attribute class for
<
code
>
AnnotationDefault
</code>
attributes.
* Attribute class for
{@
code
AnnotationDefault
}
attributes.
*/
public
final
class
AttAnnotationDefault
extends
BaseAttribute
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"AnnotationDefault"
;
/** non-null; the annotation default value */
/**
{@code
non-null;
}
the annotation default value */
private
final
Constant
value
;
/**
>
= 0; attribute data length in the original classfile (not
/**
{@code >
= 0;
}
attribute data length in the original classfile (not
* including the attribute header) */
private
final
int
byteLength
;
/**
* Constructs an instance.
*
* @param value non-null; the annotation default value
* @param byteLength
>
= 0; attribute data length in the original
* @param value
{@code
non-null;
}
the annotation default value
* @param byteLength
{@code >
= 0;
}
attribute data length in the original
* classfile (not including the attribute header)
*/
public
AttAnnotationDefault
(
Constant
value
,
int
byteLength
)
{
...
...
@@ -59,7 +59,7 @@ public final class AttAnnotationDefault extends BaseAttribute {
/**
* Gets the annotation default value.
*
* @return non-null; the value
* @return
{@code
non-null;
}
the value
*/
public
Constant
getValue
()
{
return
value
;
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttCode.java
View file @
99409883
...
...
@@ -22,35 +22,35 @@ import com.android.dx.cf.iface.AttributeList;
import
com.android.dx.util.MutabilityException
;
/**
* Attribute class for standard
<
code
>
Code
</code>
attributes.
* Attribute class for standard
{@
code
Code
}
attributes.
*/
public
final
class
AttCode
extends
BaseAttribute
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"Code"
;
/**
>
= 0; the stack size */
/**
{@code >
= 0;
}
the stack size */
private
final
int
maxStack
;
/**
>
= 0; the number of locals */
/**
{@code >
= 0;
}
the number of locals */
private
final
int
maxLocals
;
/** non-null; array containing the bytecode per se */
/**
{@code
non-null;
}
array containing the bytecode per se */
private
final
BytecodeArray
code
;
/** non-null; the exception table */
/**
{@code
non-null;
}
the exception table */
private
final
ByteCatchList
catches
;
/** non-null; the associated list of attributes */
/**
{@code
non-null;
}
the associated list of attributes */
private
final
AttributeList
attributes
;
/**
* Constructs an instance.
*
* @param maxStack
>
= 0; the stack size
* @param maxLocals
>
= 0; the number of locals
* @param code non-null; array containing the bytecode per se
* @param catches non-null; the exception table
* @param attributes non-null; the associated list of attributes
* @param maxStack
{@code >
= 0;
}
the stack size
* @param maxLocals
{@code >
= 0;
}
the number of locals
* @param code
{@code
non-null;
}
array containing the bytecode per se
* @param catches
{@code
non-null;
}
the exception table
* @param attributes
{@code
non-null;
}
the associated list of attributes
*/
public
AttCode
(
int
maxStack
,
int
maxLocals
,
BytecodeArray
code
,
ByteCatchList
catches
,
AttributeList
attributes
)
{
...
...
@@ -101,7 +101,7 @@ public final class AttCode extends BaseAttribute {
/**
* Gets the maximum stack size.
*
* @return
>
= 0; the maximum stack size
* @return
{@code >
= 0;
}
the maximum stack size
*/
public
int
getMaxStack
()
{
return
maxStack
;
...
...
@@ -110,7 +110,7 @@ public final class AttCode extends BaseAttribute {
/**
* Gets the number of locals.
*
* @return
>
= 0; the number of locals
* @return
{@code >
= 0;
}
the number of locals
*/
public
int
getMaxLocals
()
{
return
maxLocals
;
...
...
@@ -119,7 +119,7 @@ public final class AttCode extends BaseAttribute {
/**
* Gets the bytecode array.
*
* @return non-null; the bytecode array
* @return
{@code
non-null;
}
the bytecode array
*/
public
BytecodeArray
getCode
()
{
return
code
;
...
...
@@ -128,7 +128,7 @@ public final class AttCode extends BaseAttribute {
/**
* Gets the exception table.
*
* @return non-null; the exception table
* @return
{@code
non-null;
}
the exception table
*/
public
ByteCatchList
getCatches
()
{
return
catches
;
...
...
@@ -137,7 +137,7 @@ public final class AttCode extends BaseAttribute {
/**
* Gets the associated attribute list.
*
* @return non-null; the attribute list
* @return
{@code
non-null;
}
the attribute list
*/
public
AttributeList
getAttributes
()
{
return
attributes
;
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttConstantValue.java
View file @
99409883
...
...
@@ -24,22 +24,22 @@ import com.android.dx.rop.cst.CstString;
import
com.android.dx.rop.cst.TypedConstant
;
/**
* Attribute class for standard
<
code
>
ConstantValue
</code>
attributes.
* Attribute class for standard
{@
code
ConstantValue
}
attributes.
*/
public
final
class
AttConstantValue
extends
BaseAttribute
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"ConstantValue"
;
/** non-null; the constant value */
/**
{@code
non-null;
}
the constant value */
private
final
TypedConstant
constantValue
;
/**
* Constructs an instance.
*
* @param constantValue non-null; the constant value, which must
* be an instance of one of:
<
code
>
CstString
</code>
,
*
<
code
>
CstInteger
</code>, <
code
>
CstLong
</code>
,
*
<
code
>
CstFloat
</code>
, or
<
code
>
CstDouble
</code>
* @param constantValue
{@code
non-null;
}
the constant value, which must
* be an instance of one of:
{@
code
CstString
}
,
*
{@
code
CstInteger
}, {@
code
CstLong
}
,
*
{@
code
CstFloat
}
, or
{@
code
CstDouble
}
*/
public
AttConstantValue
(
TypedConstant
constantValue
)
{
super
(
ATTRIBUTE_NAME
);
...
...
@@ -65,11 +65,11 @@ public final class AttConstantValue extends BaseAttribute {
/**
* Gets the constant value of this instance. The returned value
* is an instance of one of:
<
code
>
CstString
</code>
,
*
<
code
>
CstInteger
</code>, <
code
>
CstLong
</code>
,
*
<
code
>
CstFloat
</code>
, or
<
code
>
CstDouble
</code>
.
* is an instance of one of:
{@
code
CstString
}
,
*
{@
code
CstInteger
}, {@
code
CstLong
}
,
*
{@
code
CstFloat
}
, or
{@
code
CstDouble
}
.
*
* @return non-null; the constant value
* @return
{@code
non-null;
}
the constant value
*/
public
TypedConstant
getConstantValue
()
{
return
constantValue
;
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttDeprecated.java
View file @
99409883
...
...
@@ -17,10 +17,10 @@
package
com.android.dx.cf.attrib
;
/**
* Attribute class for standard
<
code
>
Deprecated
</code>
attributes.
* Attribute class for standard
{@
code
Deprecated
}
attributes.
*/
public
final
class
AttDeprecated
extends
BaseAttribute
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"Deprecated"
;
/**
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttEnclosingMethod.java
View file @
99409883
...
...
@@ -20,24 +20,24 @@ import com.android.dx.rop.cst.CstNat;
import
com.android.dx.rop.cst.CstType
;
/**
* Attribute class for standards-track
<
code
>
EnclosingMethod
</code>
* Attribute class for standards-track
{@
code
EnclosingMethod
}
* attributes.
*/
public
final
class
AttEnclosingMethod
extends
BaseAttribute
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"EnclosingMethod"
;
/** non-null; the innermost enclosing class */
/**
{@code
non-null;
}
the innermost enclosing class */
private
final
CstType
type
;
/** null-ok; the name-and-type of the innermost enclosing method, if any */
/**
{@code
null-ok;
}
the name-and-type of the innermost enclosing method, if any */
private
final
CstNat
method
;
/**
* Constructs an instance.
*
* @param type non-null; the innermost enclosing class
* @param method null-ok; the name-and-type of the innermost enclosing
* @param type
{@code
non-null;
}
the innermost enclosing class
* @param method
{@code
null-ok;
}
the name-and-type of the innermost enclosing
* method, if any
*/
public
AttEnclosingMethod
(
CstType
type
,
CstNat
method
)
{
...
...
@@ -59,7 +59,7 @@ public final class AttEnclosingMethod extends BaseAttribute {
/**
* Gets the innermost enclosing class.
*
* @return non-null; the innermost enclosing class
* @return
{@code
non-null;
}
the innermost enclosing class
*/
public
CstType
getEnclosingClass
()
{
return
type
;
...
...
@@ -69,7 +69,7 @@ public final class AttEnclosingMethod extends BaseAttribute {
* Gets the name-and-type of the innermost enclosing method, if
* any.
*
* @return null-ok; the name-and-type of the innermost enclosing
* @return
{@code
null-ok;
}
the name-and-type of the innermost enclosing
* method, if any
*/
public
CstNat
getMethod
()
{
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttExceptions.java
View file @
99409883
...
...
@@ -20,20 +20,20 @@ import com.android.dx.rop.type.TypeList;
import
com.android.dx.util.MutabilityException
;
/**
* Attribute class for standard
<
code
>
Exceptions
</code>
attributes.
* Attribute class for standard
{@
code
Exceptions
}
attributes.
*/
public
final
class
AttExceptions
extends
BaseAttribute
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"Exceptions"
;
/** non-null; list of exception classes */
/**
{@code
non-null;
}
list of exception classes */
private
final
TypeList
exceptions
;
/**
* Constructs an instance.
*
* @param exceptions non-null; list of classes, presumed but not
* verified to be subclasses of
<
code
>
Throwable
</code>
* @param exceptions
{@code
non-null;
}
list of classes, presumed but not
* verified to be subclasses of
{@
code
Throwable
}
*/
public
AttExceptions
(
TypeList
exceptions
)
{
super
(
ATTRIBUTE_NAME
);
...
...
@@ -58,9 +58,9 @@ public final class AttExceptions extends BaseAttribute {
/**
* Gets the list of classes associated with this instance. In
* general, these classes are not pre-verified to be subclasses of
*
<
code
>
Throwable
</code>
.
*
{@
code
Throwable
}
.
*
* @return non-null; the list of classes
* @return
{@code
non-null;
}
the list of classes
*/
public
TypeList
getExceptions
()
{
return
exceptions
;
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttInnerClasses.java
View file @
99409883
...
...
@@ -19,19 +19,19 @@ package com.android.dx.cf.attrib;
import
com.android.dx.util.MutabilityException
;
/**
* Attribute class for standard
<
code
>
InnerClasses
</code>
attributes.
* Attribute class for standard
{@
code
InnerClasses
}
attributes.
*/
public
final
class
AttInnerClasses
extends
BaseAttribute
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"InnerClasses"
;
/** non-null; list of inner class entries */
/**
{@code
non-null;
}
list of inner class entries */
private
final
InnerClassList
innerClasses
;
/**
* Constructs an instance.
*
* @param innerClasses non-null; list of inner class entries
* @param innerClasses
{@code
non-null;
}
list of inner class entries
*/
public
AttInnerClasses
(
InnerClassList
innerClasses
)
{
super
(
ATTRIBUTE_NAME
);
...
...
@@ -56,7 +56,7 @@ public final class AttInnerClasses extends BaseAttribute {
/**
* Gets the list of "inner class" entries associated with this instance.
*
* @return non-null; the list
* @return
{@code
non-null;
}
the list
*/
public
InnerClassList
getInnerClasses
()
{
return
innerClasses
;
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttLineNumberTable.java
View file @
99409883
...
...
@@ -20,19 +20,19 @@ import com.android.dx.cf.code.LineNumberList;
import
com.android.dx.util.MutabilityException
;
/**
* Attribute class for standard
<
code
>
LineNumberTable
</code>
attributes.
* Attribute class for standard
{@
code
LineNumberTable
}
attributes.
*/
public
final
class
AttLineNumberTable
extends
BaseAttribute
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"LineNumberTable"
;
/** non-null; list of line number entries */
/**
{@code
non-null;
}
list of line number entries */
private
final
LineNumberList
lineNumbers
;
/**
* Constructs an instance.
*
* @param lineNumbers non-null; list of line number entries
* @param lineNumbers
{@code
non-null;
}
list of line number entries
*/
public
AttLineNumberTable
(
LineNumberList
lineNumbers
)
{
super
(
ATTRIBUTE_NAME
);
...
...
@@ -57,7 +57,7 @@ public final class AttLineNumberTable extends BaseAttribute {
/**
* Gets the list of "line number" entries associated with this instance.
*
* @return non-null; the list
* @return
{@code
non-null;
}
the list
*/
public
LineNumberList
getLineNumbers
()
{
return
lineNumbers
;
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttLocalVariableTable.java
View file @
99409883
...
...
@@ -19,16 +19,16 @@ package com.android.dx.cf.attrib;
import
com.android.dx.cf.code.LocalVariableList
;
/**
* Attribute class for standard
<
code
>
LocalVariableTable
</code>
attributes.
* Attribute class for standard
{@
code
LocalVariableTable
}
attributes.
*/
public
final
class
AttLocalVariableTable
extends
BaseLocalVariables
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"LocalVariableTable"
;
/**
* Constructs an instance.
*
* @param localVariables non-null; list of local variable entries
* @param localVariables
{@code
non-null;
}
list of local variable entries
*/
public
AttLocalVariableTable
(
LocalVariableList
localVariables
)
{
super
(
ATTRIBUTE_NAME
,
localVariables
);
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttLocalVariableTypeTable.java
View file @
99409883
...
...
@@ -19,16 +19,16 @@ package com.android.dx.cf.attrib;
import
com.android.dx.cf.code.LocalVariableList
;
/**
* Attribute class for standard
<
code
>
LocalVariableTypeTable
</code>
attributes.
* Attribute class for standard
{@
code
LocalVariableTypeTable
}
attributes.
*/
public
final
class
AttLocalVariableTypeTable
extends
BaseLocalVariables
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"LocalVariableTypeTable"
;
/**
* Constructs an instance.
*
* @param localVariables non-null; list of local variable entries
* @param localVariables
{@code
non-null;
}
list of local variable entries
*/
public
AttLocalVariableTypeTable
(
LocalVariableList
localVariables
)
{
super
(
ATTRIBUTE_NAME
,
localVariables
);
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttRuntimeInvisibleAnnotations.java
View file @
99409883
...
...
@@ -19,18 +19,18 @@ package com.android.dx.cf.attrib;
import
com.android.dx.rop.annotation.Annotations
;
/**
* Attribute class for standard
<
code
>
RuntimeInvisibleAnnotations
</code>
* Attribute class for standard
{@
code
RuntimeInvisibleAnnotations
}
* attributes.
*/
public
final
class
AttRuntimeInvisibleAnnotations
extends
BaseAnnotations
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"RuntimeInvisibleAnnotations"
;
/**
* Constructs an instance.
*
* @param annotations non-null; the list of annotations
* @param byteLength
>
= 0; attribute data length in the original
* @param annotations
{@code
non-null;
}
the list of annotations
* @param byteLength
{@code >
= 0;
}
attribute data length in the original
* classfile (not including the attribute header)
*/
public
AttRuntimeInvisibleAnnotations
(
Annotations
annotations
,
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttRuntimeInvisibleParameterAnnotations.java
View file @
99409883
...
...
@@ -20,19 +20,19 @@ import com.android.dx.rop.annotation.AnnotationsList;
/**
* Attribute class for standard
*
<
code
>
RuntimeInvisibleParameterAnnotations
</code>
attributes.
*
{@
code
RuntimeInvisibleParameterAnnotations
}
attributes.
*/
public
final
class
AttRuntimeInvisibleParameterAnnotations
extends
BaseParameterAnnotations
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"RuntimeInvisibleParameterAnnotations"
;
/**
* Constructs an instance.
*
* @param parameterAnnotations non-null; the parameter annotations
* @param byteLength
>
= 0; attribute data length in the original
* @param parameterAnnotations
{@code
non-null;
}
the parameter annotations
* @param byteLength
{@code >
= 0;
}
attribute data length in the original
* classfile (not including the attribute header)
*/
public
AttRuntimeInvisibleParameterAnnotations
(
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttRuntimeVisibleAnnotations.java
View file @
99409883
...
...
@@ -19,18 +19,18 @@ package com.android.dx.cf.attrib;
import
com.android.dx.rop.annotation.Annotations
;
/**
* Attribute class for standard
<
code
>
RuntimeVisibleAnnotations
</code>
* Attribute class for standard
{@
code
RuntimeVisibleAnnotations
}
* attributes.
*/
public
final
class
AttRuntimeVisibleAnnotations
extends
BaseAnnotations
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"RuntimeVisibleAnnotations"
;
/**
* Constructs an instance.
*
* @param annotations non-null; the list of annotations
* @param byteLength
>
= 0; attribute data length in the original
* @param annotations
{@code
non-null;
}
the list of annotations
* @param byteLength
{@code >
= 0;
}
attribute data length in the original
* classfile (not including the attribute header)
*/
public
AttRuntimeVisibleAnnotations
(
Annotations
annotations
,
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttRuntimeVisibleParameterAnnotations.java
View file @
99409883
...
...
@@ -19,20 +19,20 @@ package com.android.dx.cf.attrib;
import
com.android.dx.rop.annotation.AnnotationsList
;
/**
* Attribute class for standard
<
code
>
RuntimeVisibleParameterAnnotations
</code>
* Attribute class for standard
{@
code
RuntimeVisibleParameterAnnotations
}
* attributes.
*/
public
final
class
AttRuntimeVisibleParameterAnnotations
extends
BaseParameterAnnotations
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"RuntimeVisibleParameterAnnotations"
;
/**
* Constructs an instance.
*
* @param annotations non-null; the parameter annotations
* @param byteLength
>
= 0; attribute data length in the original
* @param annotations
{@code
non-null;
}
the parameter annotations
* @param byteLength
{@code >
= 0;
}
attribute data length in the original
* classfile (not including the attribute header)
*/
public
AttRuntimeVisibleParameterAnnotations
(
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttSignature.java
View file @
99409883
...
...
@@ -19,19 +19,19 @@ package com.android.dx.cf.attrib;
import
com.android.dx.rop.cst.CstUtf8
;
/**
* Attribute class for standards-track
<
code
>
Signature
</code>
attributes.
* Attribute class for standards-track
{@
code
Signature
}
attributes.
*/
public
final
class
AttSignature
extends
BaseAttribute
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"Signature"
;
/** non-null; the signature string */
/**
{@code
non-null;
}
the signature string */
private
final
CstUtf8
signature
;
/**
* Constructs an instance.
*
* @param signature non-null; the signature string
* @param signature
{@code
non-null;
}
the signature string
*/
public
AttSignature
(
CstUtf8
signature
)
{
super
(
ATTRIBUTE_NAME
);
...
...
@@ -51,7 +51,7 @@ public final class AttSignature extends BaseAttribute {
/**
* Gets the signature string.
*
* @return non-null; the signature string
* @return
{@code
non-null;
}
the signature string
*/
public
CstUtf8
getSignature
()
{
return
signature
;
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttSourceFile.java
View file @
99409883
...
...
@@ -19,19 +19,19 @@ package com.android.dx.cf.attrib;
import
com.android.dx.rop.cst.CstUtf8
;
/**
* Attribute class for standard
<
code
>
SourceFile
</code>
attributes.
* Attribute class for standard
{@
code
SourceFile
}
attributes.
*/
public
final
class
AttSourceFile
extends
BaseAttribute
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"SourceFile"
;
/** non-null; name of the source file */
/**
{@code
non-null;
}
name of the source file */
private
final
CstUtf8
sourceFile
;
/**
* Constructs an instance.
*
* @param sourceFile non-null; the name of the source file
* @param sourceFile
{@code
non-null;
}
the name of the source file
*/
public
AttSourceFile
(
CstUtf8
sourceFile
)
{
super
(
ATTRIBUTE_NAME
);
...
...
@@ -51,7 +51,7 @@ public final class AttSourceFile extends BaseAttribute {
/**
* Gets the source file name of this instance.
*
* @return non-null; the source file
* @return
{@code
non-null;
}
the source file
*/
public
CstUtf8
getSourceFile
()
{
return
sourceFile
;
...
...
This diff is collapsed.
Click to expand it.
dx/src/com/android/dx/cf/attrib/AttSynthetic.java
View file @
99409883
...
...
@@ -17,10 +17,10 @@
package
com.android.dx.cf.attrib
;
/**
* Attribute class for standard
<
code
>
Synthetic
</code>
attributes.
* Attribute class for standard
{@
code
Synthetic
}
attributes.
*/
public
final
class
AttSynthetic
extends
BaseAttribute
{
/** non-null; attribute name for attributes of this type */
/**
{@code
non-null;
}
attribute name for attributes of this type */
public
static
final
String
ATTRIBUTE_NAME
=
"Synthetic"
;
/**
...
...
This diff is collapsed.
Click to expand it.
Prev
1
2
3
4
5
…
19
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment