Commit 99409883 authored by The Android Open Source Project's avatar The Android Open Source Project
Browse files

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
......@@ -115,7 +115,7 @@ static int methodIsPublic(JNIEnv* env, jclass clazz, jmethodID methodId)
}
getModifiersId = (*env)->GetMethodID(env, methodClass,
"getModifiers", "()I");
if (methodClass == NULL) {
if (getModifiersId == NULL) {
fprintf(stderr, "Dalvik VM unable to find reflect.Method.getModifiers\n");
goto bail;
}
......
......@@ -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, "dfhmt:");
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;
......
......@@ -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";
}
......@@ -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;
/** &gt;= 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 &gt;= 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;
......
......@@ -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";
/** &gt;= 0; the stack size */
/** {@code >= 0;} the stack size */
private final int maxStack;
/** &gt;= 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 &gt;= 0; the stack size
* @param maxLocals &gt;= 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 &gt;= 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 &gt;= 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;
......
......@@ -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;
......
......@@ -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";
/**
......
......@@ -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() {
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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);
......
......@@ -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);
......
......@@ -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 &gt;= 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,
......
......@@ -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 &gt;= 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(
......
......@@ -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 &gt;= 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,
......
......@@ -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 &gt;= 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(
......
......@@ -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;
......
......@@ -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;
......
......@@ -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";
/**
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment