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

MOP 2.0 design inflluencing issues

    Details

    • Type: Task
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 3.x
    • Component/s: groovy-runtime
    • Labels:
      None

      Description

      each linked issue of this shows an issue that can't be accurately fixed because the 1.x MOP does not allow for this. Therefor these issues will be used as a reminder (and to be fixed) by the new MOP. I consider the MOP as all public classes and interfaces (groovy.lang.*) used to implement the MOP and allow the user interaction. For example if GroovyObject would need a change, then the issue can be linked to this, if an implementation n for example MetaClassImpl would need a change in a way that leaks not through to the user, then it is a implementation detail and should not be linked to this

        Attachments

          Issue Links

          1.
          Can't call a Closure in a Closure's Delegete Sub-task Open Unassigned
          2.
          Method invocation that returns no value should evaluate to a known constant instead of null Sub-task Open Unassigned
          3.
          Add new addMetaConstructor method to MetaClassImpl Sub-task Open Unassigned
          4.
          Implement new MetaConstructor and use that instead of java.lang.reflect.Constructor Sub-task Open Unassigned
          5.
          make ProxyMetaClass threadsafe Sub-task Open Unassigned
          6.
          Add constructor to ExpandoMetaClass that takes MetaClassRegistry instance Sub-task Open Unassigned
          7.
          The equality and relational operators can not be overridden by a Category method Sub-task Open Unassigned
          8.
          Stop requiring exceptions in MetaClass to indicate method/property does not exist Sub-task Open Unassigned
          9.
          Dynamically created closure handles delegate differently from statically created closure Sub-task Open Unassigned
          10.
          GroovyInterceptable should cause properties to fall back to getXXX/setXXX Sub-task Open Unassigned
          11.
          Property access works differently depending on whether using "this" or other reference even if they point to the same object Sub-task Open Unassigned
          12.
          CLONE -ExpandoMetaClass does not offer a consistent way to retrieve and invoke overloaded methods Sub-task Open Unassigned
          13.
          Closure in base class unable to call private methods when invoked from derived class Sub-task Open Unassigned
          14.
          Instantioantion object of class with private constructor Sub-task Open Unassigned
          15.
          Method selection misbehavior with category Sub-task Open Unassigned
          16.
          Mixin a class with static methods is not working properly Sub-task Open Unassigned
          17.
          == operator does not work anymore if Comparable is implemented! Sub-task Open Unassigned
          18.
          Closures in a derived class can't access package private fields of the base class in the same package. Sub-task Open Unassigned
          19.
          Binding behave oddly with closures Sub-task Open Unassigned
          20.
          correct closure property access to field access the same way it is done this.x Sub-task Open Unassigned
          21.
          positional parameters in constructors behaves like a default constructor Sub-task Open Unassigned
          22.
          Inherited method establishing logic needs to be MetaClass aware Sub-task Open Unassigned
          23.
          When implementing MOP you cannot intercept core Object methods (equals(), hashCode(), etc.) Sub-task Open Unassigned
          24.
          Need to access the metaClass of a subclass before receiving the dynamic methods that are added to the superclass Sub-task Open Unassigned
          25.
          Can't replace a setProperty method declared in an object with metaclass directives. Sub-task Open Unassigned
          26.
          Closure and binding with static finals from extended classes leads to an exception. Sub-task Reopened Unassigned
          27.
          Private inheritance bug: Closure accessing private method Sub-task Open Unassigned
          28.
          Problem with each() and get/setProperty Sub-task Open Unassigned
          29.
          unable to overwritel toString() via MOP in some cases Sub-task Open Unassigned
          30.
          Private field not found in subclasses Sub-task Open Unassigned
          31.
          The accessor pair can't be provided from different sources Sub-task Open Unassigned
          32.
          Cannot create static property via metaClass Sub-task Open Unassigned
          33.
          MetaClassImpl.respondsTo() does not work properly with methods that have Class parameters. Sub-task Open Unassigned
          34.
          Disable overriding via MOP for certain interfaces, classes and methods Sub-task Open Unassigned
          35.
          Dynamic Static Fields Aren't Created Sub-task Open Unassigned
          36.
          Math Bug with == Sub-task Reopened Unassigned
          37.
          "constructor" in EMC DSL doesn't work as expected Sub-task Open Unassigned
          38.
          Constructor interception not working when property map used in construction Sub-task Open Unassigned
          39.
          deadlock in EMC.performOperationOnMetaClass Sub-task Open Unassigned
          40.
          metaClass: if static method with same name and parameters is defined after a instance method, instance method is covert Sub-task Open Unassigned
          41.
          Patch: Dynamic type promotion Sub-task Open Unassigned
          42.
          When adding methods to Closure through EMC, the delegate of the closure doesn't point at the closure itself Sub-task Open Unassigned
          43.
          Ability to clone meta classes. Sub-task Open Unassigned
          44.
          metaClass.getMetaMethod doesn't find method with Class as an argument Sub-task Open Unassigned
          45.
          Single-parameter method chosen zero parameters passed Sub-task Open Unassigned

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                blackdrag Jochen Theodorou
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: