Groovy
  1. Groovy
  2. GROOVY-2503

MOP 2.0 design inflluencing issues

    Details

    • Type: Task Task
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 3.0
    • 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

        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. Invalid hash key "serialVersionUID" Sub-task Open Unassigned
         
        44. Ability to clone meta classes. Sub-task Open Unassigned
         
        45. metaClass.getMetaMethod doesn't find method with Class as an argument Sub-task Open Unassigned
         

          Activity

          There are no comments yet on this issue.

            People

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

              Dates

              • Created:
                Updated:

                Development