[
https://issues.apache.org/jira/browse/GROOVY-11159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Milles updated GROOVY-11159:
---------------------------------
Description:
ClassNode is used to represent type definitions as well as type references.
There are a lot of data members that apply only to type definitions. However,
every reference pays the cost. ClassNode could have a single reference to
another class (essentially a struct) that holds all the definition information.
With this, type references would only have one reference (initialized to null)
instead of all those fields.
Fields:
* modifiers
* syntheticPublic
* superClass
* interfaces
* mixins
* objectInitializers
* constructors
* methods
* methodsList
* fields
* fieldIndex
* properties
* module
* compileUnit
* staticClass
* scriptBody
* script
* innerClasses
* lazyInitDone?
* lazyInitLock?
* clazz
* enclosingMethod
* recordComponents
* transformInstances?
* permittedSubclasses
was:
ClassNode is used to represent type definitions as well as type references.
There are a lot of data members that apply only to type definitions. However,
every reference pays the cost. ClassNode could have a single reference to
another class (essentially a struct) that holds all the definition information.
With this, type references would only have one reference (initialized to null)
instead of all those fields.
Fields:
* modifiers
* syntheticPublic
* superClass
* interfaces
* mixins
* objectInitializers
* constructors
* methods
* methodsList
* fields
* fieldIndex
* properties
* module
* compileUnit
* staticClass
* scriptBody
* script
* innerClasses
* lazyInitDone
* lazyInitLock
* clazz
* enclosingMethod
* recordComponents
* transformInstances?
* permittedSubclasses
> ClassNode: separate type definition information
> -----------------------------------------------
>
> Key: GROOVY-11159
> URL: https://issues.apache.org/jira/browse/GROOVY-11159
> Project: Groovy
> Issue Type: Improvement
> Reporter: Eric Milles
> Priority: Minor
>
> ClassNode is used to represent type definitions as well as type references.
> There are a lot of data members that apply only to type definitions. However,
> every reference pays the cost. ClassNode could have a single reference to
> another class (essentially a struct) that holds all the definition
> information. With this, type references would only have one reference
> (initialized to null) instead of all those fields.
> Fields:
> * modifiers
> * syntheticPublic
> * superClass
> * interfaces
> * mixins
> * objectInitializers
> * constructors
> * methods
> * methodsList
> * fields
> * fieldIndex
> * properties
> * module
> * compileUnit
> * staticClass
> * scriptBody
> * script
> * innerClasses
> * lazyInitDone?
> * lazyInitLock?
> * clazz
> * enclosingMethod
> * recordComponents
> * transformInstances?
> * permittedSubclasses
--
This message was sent by Atlassian Jira
(v8.20.10#820010)