You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Emmanuel Bourg (JIRA)" <ji...@apache.org> on 2014/04/24 16:54:17 UTC
[jira] [Updated] (BCEL-106) Accessing full signatures of local
variables that contain generics
[ https://issues.apache.org/jira/browse/BCEL-106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Emmanuel Bourg updated BCEL-106:
--------------------------------
Description:
LocalVariable object not able to return full signature that contains generics.
Example: I have created a Foo class with the following method:
{code}
public void test(){
ArrayList<Integer> localVar = new ArrayList<Integer>();
}
{code}
After creating JavaClass from Foo and accessing the {{test()}} method and its local variable, signature reported for localVar is {{"java.util.ArrayList"}}, where Integer generic part is truncated. However, after inspecting the ConstantPool for the Foo class, it does contain
{code}
CONSTANT_Utf8[1] ("Ljava/util/ArrayList<Ljava/lang/Integer;>;")
{code}
Why not simply set the SignatureIndex of the localVar to the correct index within the ConstantPool that also includes the Integer part, or allow LocalVariable to also getAttributes(), where the Signature attribute is properly set to the full signature that includes Integer, as for methods.
was:
LocalVariable object not able to return full signature that contains generics.
Example: I have crated Foo class with the following method:
public void test(){
ArrayList<Integer> localVar = new ArrayList<Integer>();
}
After creating JavaClass from Foo and accessing test() method and its local
variable, signature reported for localVar is "java.util.ArrayList", where
Integer generic part is truncated. However, after inspecting the ConstantPool
for the Foo class, it does contain CONSTANT_Utf8[1]
("Ljava/util/ArrayList<Ljava/lang/Integer;>;"). Why not simply set the
SignatureIndex of the localVar to the correct index within the ConstantPool
that also includes the Integer part, or allow LocalVariable to also
getAttributes(), where the Signature attribute is properly set to the full
signature that includes Integer, as for methods.
Priority: Minor
Environment: (was: Operating System: Windows XP
Platform: PC)
Priority: (was: P2)
Severity: (was: enhancement)
Summary: Accessing full signatures of local variables that contain generics (was: accessing full signatures of local variables that contain generics)
> Accessing full signatures of local variables that contain generics
> ------------------------------------------------------------------
>
> Key: BCEL-106
> URL: https://issues.apache.org/jira/browse/BCEL-106
> Project: Commons BCEL
> Issue Type: Improvement
> Components: Main
> Affects Versions: 5.2
> Reporter: D. Babich
> Assignee: Apache Commons Developers
> Priority: Minor
>
> LocalVariable object not able to return full signature that contains generics.
> Example: I have created a Foo class with the following method:
> {code}
> public void test(){
> ArrayList<Integer> localVar = new ArrayList<Integer>();
> }
> {code}
> After creating JavaClass from Foo and accessing the {{test()}} method and its local variable, signature reported for localVar is {{"java.util.ArrayList"}}, where Integer generic part is truncated. However, after inspecting the ConstantPool for the Foo class, it does contain
> {code}
> CONSTANT_Utf8[1] ("Ljava/util/ArrayList<Ljava/lang/Integer;>;")
> {code}
> Why not simply set the SignatureIndex of the localVar to the correct index within the ConstantPool that also includes the Integer part, or allow LocalVariable to also getAttributes(), where the Signature attribute is properly set to the full signature that includes Integer, as for methods.
--
This message was sent by Atlassian JIRA
(v6.2#6252)