Skip to content

Identity statement with incorrect local name #36

@faustocarva

Description

@faustocarva

The identity statement of jimple is getting an incorrect value for local name.
Sample code:

class O {
	public O f;
}
public class FooBar {
	public static void main(String[] args) {
		O p = new O();
		O q = p;
		O r = new O();
		p.f = r;
		O t = bar(q);
	}
	static O bar(O s) {
		return s.f;
	}
}

Output from the decompiler module (only for the bar method):

    static samples.pointsto.ex2.O bar(samples.pointsto.ex2.O) 
    {
        samples.pointsto.ex2.O r1;
        samples.pointsto.ex2.O $r1;     
        i1 := @parameter0: samples.pointsto.ex2.O;     
        $r1 = r1.<samples.pointsto.ex2.O: samples.pointsto.ex2.O f>;   
        return $r1; 
    }

As you can see, there is no i1 variable in this scope.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions