Browse Source

add unit tests for LocalVariableAttribute.variableNameByIndex and MethodParametersAttribute.parameterName

tags/rel_3_28_0_ga
eshizhan 3 years ago
parent
commit
5bccb19933

+ 1
- 1
src/main/javassist/bytecode/LocalVariableAttribute.java View File

@@ -227,7 +227,7 @@ public class LocalVariableAttribute extends AttributeInfo {
public String variableNameByIndex(int index) {
for (int i = 0; i < tableLength(); i++) {
if (index(i) == index) {
return getConstPool().getUtf8Info(nameIndex(i));
return variableName(i);
}
}
throw new ArrayIndexOutOfBoundsException();

+ 4
- 0
src/test/javassist/JvstTest4.java View File

@@ -1019,11 +1019,15 @@ public class JvstTest4 extends JvstTestRoot {
assertEquals(2, attr.size());
assertEquals("i", cp.getUtf8Info(attr.name(0)));
assertEquals("s", cp.getUtf8Info(attr.name(1)));
assertEquals("i", attr.parameterName(0));
assertEquals("s", attr.parameterName(1));

attr = (MethodParametersAttribute)attr.copy(cp, null);
assertEquals(2, attr.size());
assertEquals("i", cp.getUtf8Info(attr.name(0)));
assertEquals("s", cp.getUtf8Info(attr.name(1)));
assertEquals("i", attr.parameterName(0));
assertEquals("s", attr.parameterName(1));
}

// JIRA JASSIST-220

+ 3
- 0
src/test/javassist/bytecode/BytecodeTest.java View File

@@ -354,6 +354,9 @@ public class BytecodeTest extends TestCase {
assertEquals("I", ainfo2.descriptor(i));
}
print("**** end ***");

assertEquals("this", ainfo2.variableNameByIndex(0));
assertEquals("i", ainfo2.variableNameByIndex(1));
}

public void testAnnotations() throws Exception {

Loading…
Cancel
Save