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

          Activity

            People

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

              Dates

                Created:
                Updated: