Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.7.4
-
Fix Version/s: 1.7.6, 1.8-beta-3
-
Component/s: class generator
-
Labels:None
-
Environment:ubuntu
-
Number of attachments :
Description
A new grails project.
In the src folder a groovy class like:
package de.app class User { String name public void setName(String name, String t = "") { this.name = name } }
and in the src folder a java class like:
package de.me; import de.app.User; public class App { public void make() { User u = new User(); } }
result:
[groovyc] /tmp/groovy-generated-5423173608487992496-java-source/de/app/User.java:22: setName(java.lang.String) is already defined in de.app.User [groovyc] public void setName(java.lang.String value) { } [groovyc] ^ [groovyc] 1 error
removing the optional parameter (String t = "") works.
Activity
Guillaume Laforge
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Description |
A new grails project.
In the src folder a groovy class like: package de.app class User { String name public void setName(String name, String t = "") { this.name = name } } and in the src folder a java class like: package de.me; import de.app.User; public class App { public void make() { User u = new User(); } } result: [groovyc] /tmp/groovy-generated-5423173608487992496-java-source/de/app/User.java:22: setName(java.lang.String) is already defined in de.app.User [groovyc] public void setName(java.lang.String value) { } [groovyc] ^ [groovyc] 1 error removing the optional parameter (String t = "") works. |
A new grails project.
In the src folder a groovy class like: {code} package de.app class User { String name public void setName(String name, String t = "") { this.name = name } } {code} and in the src folder a java class like: {code} package de.me; import de.app.User; public class App { public void make() { User u = new User(); } } {code} result: {code} [groovyc] /tmp/groovy-generated-5423173608487992496-java-source/de/app/User.java:22: setName(java.lang.String) is already defined in de.app.User [groovyc] public void setName(java.lang.String value) { } [groovyc] ^ [groovyc] 1 error {code} removing the optional parameter (String t = "") works. |
Roshan Dawrani
made changes -
| Summary | join groovy and java classes | Duplicate methods added by stub generator in joint compilation when method parameters have default values. |
Roshan Dawrani
made changes -
| Assignee | Jochen Theodorou [ blackdrag ] | Roshan Dawrani [ roshandawrani ] |
Roshan Dawrani
made changes -
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Fix Version/s | 1.7.6 [ 16749 ] | |
| Fix Version/s | 1.8-beta-3 [ 16750 ] | |
| Resolution | Fixed [ 1 ] |
Paul King
made changes -
| Status | Resolved [ 5 ] | Closed [ 6 ] |