Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.8.2
-
Fix Version/s: 2.0-beta-3
-
Component/s: None
-
Labels:
-
Number of attachments :
Description
The following code will generate a StackOverflowError. It seems "setMetaClass(MetaClass)" is called recursivly, although "super.setMetaClass(MetaClass)" is used. Note that this problem only occures when "Test" has no base class.
class Test {
void setMetaClass(MetaClass metaClass) {
super.setMetaClass(metaClass)
}
}
def obj = new Test()
obj.metaClass = obj.metaClass
On the other hand, the following code works just fine:
class Base {}
class Test extends Base {
void setMetaClass(MetaClass metaClass) {
super.setMetaClass(metaClass)
}
}
def obj = new Test()
obj.metaClass = obj.metaClass
Activity
blackdrag blackdrag
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Link |
This issue depends upon |
blackdrag blackdrag
made changes -
| Assignee | Cedric Champeau [ melix ] |
Cedric Champeau
made changes -
| Link |
This issue depends upon |
Cedric Champeau
made changes -
| Labels | breaking |
Cedric Champeau
made changes -
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Fix Version/s | 2.0-beta-3 [ 18244 ] | |
| Resolution | Fixed [ 1 ] |
Paul King
made changes -
| Status | Resolved [ 5 ] | Closed [ 6 ] |