Unexpected InternalName format on Enum classes

Freddy Mallet <[email protected]>
Newsgroups gmane.comp.java.objectweb.asm
Message-ID <[email protected]>
Hi all,

I'm one of the developers of the open source Sonar quality platform (
www.sonarsource.org) and we use ASM to generate some O.O. metrics and
understand the global architecture of a project.

I'm currently facing a little issue when analyzing java enumerations (see
http://jira.codehaus.org/browse/SONAR-1638). Indeed, the bytecode contains
some use of INVOKEVIRTUAL instruction with an unexpected format (at least
for me) :

INVOKEVIRTUAL [LspecialCases/ClassWithEnum$MyEnum;.clone ()Ljava/lang/Object;


In that case, I expect to get :

INVOKEVIRTUAL specialCases/ClassWithEnum$MyEnum.clone ()Ljava/lang/Object


Indeed, when my implementation of the VisitMethod interface is called back
on the method visitMethodInsn(int opcode, String owner, String name, String
desc);
and in that case the argument "owner" equals to
"[LspecialCases/ClassWithEnum$MyEnum;" where I expect to get the internal
name "specialCases/ClassWithEnum$MyEnum"

Does it means that I need to always check the format of the "owner" argument
before doing anything ?

Thanks for your help,
Freddy


----------------------------------------
Freddy Mallet
www.SonarSource.org
www.SonarSource.com
http://twitter.com/FreddyMallet
----------------------------------------
message-footer.txt (text/plain, 238 B)
-- 
You receive this message as a subscriber of the [email protected] mailing list.
To unsubscribe: mailto:[email protected]
For general help: mailto:[email protected]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.