Skip to content

Commit 2f081db

Browse files
committed
When names of method parameters same as class members, 'self.' with be prepend to references of method parameters. The patch fix this bug.
1 parent 0dbe3cd commit 2f081db

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

java2python/lib/sourcetypes.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -889,6 +889,7 @@ def addParameter(self, typ, name):
889889
name = self.alternateName(name)
890890
typ = Source.alternateName(self, typ, 'typeTypeMap')
891891
self.parameters.append((typ, name))
892+
self.variables.append(Variable(self, name))
892893

893894
def formatDecl(self, indent):
894895
""" generates a class statement accounting for base types

java2python/tests/ClassMember.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ public void add() {
99
c++;
1010
a++;
1111
}
12+
13+
public void setA(int a) {
14+
this.a = a;
15+
}
1216
}
1317

1418
public class ClassMember extends TestCase {
@@ -27,4 +31,10 @@ public void testStaticMember() {
2731
Assert.assertEquals(Simple.c, 2);
2832
Assert.assertEquals(x.c, 2);
2933
}
34+
35+
public void testParamName() {
36+
Simple x = new Simple();
37+
x.setA(10);
38+
Assert.assertEquals(x.a, 10);
39+
}
3040
}

0 commit comments

Comments
 (0)