[ 
https://issues.apache.org/jira/browse/GROOVY-11159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17756010#comment-17756010
 ] 

Eric Milles edited comment on GROOVY-11159 at 1/15/24 2:11 AM:
---------------------------------------------------------------

Yes, I think in a vacuum there would be separate types for TypeDefinition and 
TypeReference.  I'm trying to work out how to separate out the typedef 
information when isPrimaryNode is modified by ClassHelper and subclasses.


was (Author: emilles):
Yes I think in a vacuum there would be separate types for TypeDefinition and 
TypeReference.  I'm trying to work out how to separate out the typedef 
information when isPrimaryNode is modified by ClassHelper and subclasses.

> 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)

Reply via email to