Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Won't Fix
-
1.6-beta-1
-
None
-
None
-
None
Description
The type of a new instance of a class depends on whether the metaClass property on its class has been accessed before. That is just not right.
groovy> class A {}
groovy> println A.metaClass
groovy> def a = new A ()
groovy> println a.metaClass
groovy> println A.metaClass
groovy.lang.ExpandoMetaClass@b05c54[class A]
groovy.lang.ExpandoMetaClass@b05c54[class A]
groovy.lang.ExpandoMetaClass@b05c54[class A]
groovy> class A {}
groovy> //println A.metaClass
groovy> def a = new A ()
groovy> println a.metaClass
groovy> println A.metaClass
groovy.lang.MetaClassImpl@a7eb57[class A]
groovy.lang.ExpandoMetaClass@2e22ed[class A]