protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self, String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) { CacheEntry entry = selfType != null ? selfType.searchWithCache(name) : CacheEntry.NULL_CACHE; DynamicMethod method = entry.method; if (methodMissing(method, caller)) { return callMethodMissing(context, self, name, method, arg1, arg2, arg3); } cache = new SuperTuple(name, entry); return method.call(context, self, selfType, name, arg1, arg2, arg3); }
private IRubyObject callBlock(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, Block block) { RubyModule klazz = context.getFrameKlazz(); String name = context.getFrameName(); RubyClass selfType = pollAndGetClass(context, self, klazz, name); SuperTuple myCache = cache; if (selfType != null && myCache.cacheOk(name, selfType)) { return myCache.cache.method.call(context, self, selfType, name, arg1, arg2, block); } return cacheAndCall(caller, selfType, block, context, self, name, arg1, arg2); }
protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, Block block, ThreadContext context, IRubyObject self, String name, IRubyObject arg1, IRubyObject arg2) { CacheEntry entry = selfType != null ? selfType.searchWithCache(name) : CacheEntry.NULL_CACHE; DynamicMethod method = entry.method; if (methodMissing(method, caller)) { return callMethodMissing(context, self, name, method, arg1, arg2, block); } cache = new SuperTuple(name, entry); return method.call(context, self, selfType, name, arg1, arg2, block); }
protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self, String name, IRubyObject arg1, IRubyObject arg2) { CacheEntry entry = selfType != null ? selfType.searchWithCache(name) : CacheEntry.NULL_CACHE; DynamicMethod method = entry.method; if (methodMissing(method, caller)) { return callMethodMissing(context, self, name, method, arg1, arg2); } cache = new SuperTuple(name, entry); return method.call(context, self, selfType, name, arg1, arg2); }
protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, Block block, ThreadContext context, IRubyObject self, String name, IRubyObject arg) { CacheEntry entry = selfType != null ? selfType.searchWithCache(name) : CacheEntry.NULL_CACHE; DynamicMethod method = entry.method; if (methodMissing(method, caller)) { return callMethodMissing(context, self, name, method, arg, block); } cache = new SuperTuple(name, entry); return method.call(context, self, selfType, name, arg, block); }
protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, Block block, ThreadContext context, IRubyObject self, String name) { CacheEntry entry = selfType != null ? selfType.searchWithCache(name) : CacheEntry.NULL_CACHE; DynamicMethod method = entry.method; if (methodMissing(method, caller)) { return callMethodMissing(context, self, name, method, block); } cache = new SuperTuple(name, entry); return method.call(context, self, selfType, name, block); }
protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self, String name) { CacheEntry entry = selfType != null ? selfType.searchWithCache(name) : CacheEntry.NULL_CACHE; DynamicMethod method = entry.method; if (methodMissing(method, caller)) { return callMethodMissing(context, self, name, method); } cache = new SuperTuple(name, entry); return method.call(context, self, selfType, name); }
protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, IRubyObject[] args, ThreadContext context, IRubyObject self, String name) { CacheEntry entry = selfType != null ? selfType.searchWithCache(name) : CacheEntry.NULL_CACHE; DynamicMethod method = entry.method; if (methodMissing(method, caller)) { return callMethodMissing(context, self, name, method, args); } cache = new SuperTuple(name, entry); return method.call(context, self, selfType, name, args); }
private IRubyObject callBlock(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, Block block) { RubyModule klazz = context.getFrameKlazz(); String name = context.getFrameName(); RubyClass selfType = pollAndGetClass(context, self, klazz, name); SuperTuple myCache = cache; if (selfType != null && myCache.cacheOk(name, selfType)) { return myCache.cache.method.call(context, self, selfType, name, arg1, block); } return cacheAndCall(caller, selfType, block, context, self, name, arg1); }
private IRubyObject callBlock(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) { RubyModule klazz = context.getFrameKlazz(); String name = context.getFrameName(); RubyClass selfType = pollAndGetClass(context, self, klazz, name); SuperTuple myCache = cache; if (selfType != null && myCache.cacheOk(name, selfType)) { return myCache.cache.method.call(context, self, selfType, name, args, block); } return cacheAndCall(caller, selfType, block, args, context, self, name); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) { RubyModule klazz = context.getFrameKlazz(); String name = context.getFrameName(); RubyClass selfType = pollAndGetClass(context, self, klazz, name); SuperTuple myCache = cache; if (selfType != null && myCache.cacheOk(name, selfType)) { return myCache.cache.method.call(context, self, selfType, name, arg1, arg2, arg3); } return cacheAndCall(caller, selfType, context, self, name, arg1, arg2, arg3); }
private IRubyObject callBlock(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, Block block) { RubyModule klazz = context.getFrameKlazz(); String name = context.getFrameName(); RubyClass selfType = pollAndGetClass(context, self, klazz, name); SuperTuple myCache = cache; if (selfType != null && myCache.cacheOk(name, selfType)) { return myCache.cache.method.call(context, self, selfType, name, arg1, arg2, block); } return cacheAndCall(caller, selfType, block, context, self, name, arg1, arg2); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1) { RubyModule klazz = context.getFrameKlazz(); String name = context.getFrameName(); RubyClass selfType = pollAndGetClass(context, self, klazz, name); SuperTuple myCache = cache; if (selfType != null && myCache.cacheOk(name, selfType)) { return myCache.cache.method.call(context, self, selfType, name, arg1); } return cacheAndCall(caller, selfType, context, self, name, arg1); }
protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self, String name, IRubyObject arg) { CacheEntry entry = selfType != null ? selfType.searchWithCache(name) : CacheEntry.NULL_CACHE; DynamicMethod method = entry.method; if (methodMissing(method, caller)) { return callMethodMissing(context, self, selfType, name, method, arg); } cache = new SuperTuple(name, entry); return method.call(context, self, selfType, name, arg); }
protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, Block block, ThreadContext context, IRubyObject self, String name) { CacheEntry entry = selfType != null ? selfType.searchWithCache(name) : CacheEntry.NULL_CACHE; DynamicMethod method = entry.method; if (methodMissing(method, caller)) { return callMethodMissing(context, self, selfType, name, method, block); } cache = new SuperTuple(name, entry); return method.call(context, self, selfType, name, block); }
protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self, String name) { CacheEntry entry = selfType != null ? selfType.searchWithCache(name) : CacheEntry.NULL_CACHE; DynamicMethod method = entry.method; if (methodMissing(method, caller)) { return callMethodMissing(context, self, selfType, name, method); } cache = new SuperTuple(name, entry); return method.call(context, self, selfType, name); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) { RubyModule klazz = context.getFrameKlazz(); String name = context.getFrameName(); RubyClass selfType = pollAndGetClass(context, self, klazz, name); SuperTuple myCache = cache; if (selfType != null && myCache.cacheOk(name, selfType)) { return myCache.cache.method.call(context, self, selfType, name, arg1, arg2, arg3); } return cacheAndCall(caller, selfType, context, self, name, arg1, arg2, arg3); }
private IRubyObject callBlock(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block block) { RubyModule klazz = context.getFrameKlazz(); String name = context.getFrameName(); RubyClass selfType = pollAndGetClass(context, self, klazz, name); SuperTuple myCache = cache; if (selfType != null && myCache.cacheOk(name, selfType)) { return myCache.cache.method.call(context, self, selfType, name, arg1, arg2, arg3, block); } return cacheAndCall(caller, selfType, block, context, self, name, arg1, arg2, arg3); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) { RubyModule klazz = context.getFrameKlazz(); String name = context.getFrameName(); RubyClass selfType = pollAndGetClass(context, self, klazz, name); SuperTuple myCache = cache; if (selfType != null && myCache.cacheOk(name, selfType)) { return myCache.cache.method.call(context, self, selfType, name, arg1, arg2, arg3); } return cacheAndCall(caller, selfType, context, self, name, arg1, arg2, arg3); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2) { RubyModule klazz = context.getFrameKlazz(); String name = context.getFrameName(); RubyClass selfType = pollAndGetClass(context, self, klazz, name); SuperTuple myCache = cache; if (selfType != null && myCache.cacheOk(name, selfType)) { return myCache.cache.method.call(context, self, selfType, name, arg1, arg2); } return cacheAndCall(caller, selfType, context, self, name, arg1, arg2); }