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.
          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.
          ExpandoMetaClass does not offer a consistent way to retrieve and invoke overloaded methods Sub-task Open Unassigned
          11.
          Mixin a class with static methods is not working properly Sub-task Open Unassigned
          12.
          Binding behave oddly with closures Sub-task Open Unassigned
          13.
          correct closure property access to field access the same way it is done this.x Sub-task Open Unassigned
          14.
          positional parameters in constructors behaves like a default constructor Sub-task Open Unassigned
          15.
          Inherited method establishing logic needs to be MetaClass aware Sub-task Open Unassigned
          16.
          When implementing MOP you cannot intercept core Object methods (equals(), hashCode(), etc.) Sub-task Open Unassigned
          17.
          Can't replace a setProperty method declared in an object with metaclass directives. Sub-task Open Unassigned
          18.
          Problem with each() and get/setProperty Sub-task Open Unassigned
          19.
          unable to overwrite toString() via MOP in some cases Sub-task Open Unassigned
          20.
          Private field not found in subclasses Sub-task Open Unassigned
          21.
          Cannot create static property via metaClass Sub-task Open Unassigned
          22.
          MetaClassImpl.respondsTo() does not work properly with methods that have Class parameters. Sub-task Open Unassigned
          23.
          Disable overriding via MOP for certain interfaces, classes and methods Sub-task Open Unassigned
          24.
          Dynamic Static Fields Aren't Created Sub-task Open Unassigned
          25.
          Math Bug with == Sub-task Reopened Unassigned
          26.
          Constructor interception not working when property map used in construction Sub-task Open Unassigned
          27.
          deadlock in EMC.performOperationOnMetaClass Sub-task Open Unassigned
          28.
          metaClass: if static method with same name and parameters is defined after a instance method, instance method is covert Sub-task Open Unassigned
          29.
          Patch: Automatic type promotion for numbers Sub-task Open Unassigned
          30.
          When adding methods to Closure through EMC, the delegate of the closure doesn't point at the closure itself Sub-task Open Unassigned
          31.
          Ability to clone meta classes. Sub-task Open Unassigned
          32.
          metaClass.getMetaMethod doesn't find method with Class as an argument Sub-task Open Unassigned

          Activity

            People

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

              Dates

                Created:
                Updated: