Hi all,

       As Groovy 4 will focus on indy and eliminate the old call sites, I am
trying to walk through the implementation of indy...
       Could you tell me why setting property is not supported in indy? It
is in TODO list, or not supported on purpose? Thanks in advance :-)

```
    public static Selector getSelector(MutableCallSite callSite, Class
sender, String methodName, int callID, boolean safeNavigation, boolean
thisCall, boolean spreadCall, Object[] arguments) {
        CALL_TYPES callType = CALL_TYPES_VALUES[callID];
        switch (callType) {
            case INIT: return new InitSelector(callSite, sender, methodName,
callType, safeNavigation, thisCall, spreadCall, arguments);
            case METHOD: return new MethodSelector(callSite, sender,
methodName, callType, safeNavigation, thisCall, spreadCall, arguments);
            case GET: 
                return new PropertySelector(callSite, sender, methodName,
callType, safeNavigation, thisCall, spreadCall, arguments);
            case SET:
                throw new GroovyBugError("your call tried to do a property
set, which is not supported.");
            case CAST:  return new CastSelector(callSite, arguments);
            default: throw new GroovyBugError("unexpected call type");
        }
    }
```
(
https://github.com/apache/groovy/blob/master/src/main/java/org/codehaus/groovy/vmplugin/v7/Selector.java#L132
)

Cheers,
Daniel.Sun



-----
Apache Groovy committer & PMC member 
Blog: http://blog.sunlan.me 
Twitter: @daniel_sun 

--
Sent from: http://groovy.329449.n5.nabble.com/Groovy-Dev-f372993.html

Reply via email to