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

Eric Milles commented on GROOVY-11159:
--------------------------------------

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