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

MOP 2.0 design inflluencing issues

    XMLWordPrintableJSON

Details

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

          Activity

            People

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

              Dates

                Created:
                Updated: