Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-11159

ClassNode: separate type definition information

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    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

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              emilles Eric Milles
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: