@Override public MethodHandle generate(JRubyCallSite site, RubyClass cls, DynamicMethod method, String realName) { AttrReaderMethod attrReader = (AttrReaderMethod)method; String varName = attrReader.getVariableName(); // we getVariableAccessorForWrite here so it is eagerly created and we don't cache the DUMMY VariableAccessor accessor = cls.getRealClass().getVariableAccessorForWrite(varName); // Ruby to attr reader if (RubyInstanceConfig.LOG_INDY_BINDINGS) { if (accessor instanceof FieldVariableAccessor) { LOG.info(site.name() + "\tbound as field attr reader " + logMethod(method) + ":" + ((AttrReaderMethod)method).getVariableName()); } else { LOG.info(site.name() + "\tbound as attr reader " + logMethod(method) + ":" + ((AttrReaderMethod)method).getVariableName()); } } return createAttrReaderHandle(site, cls, accessor); } }
@Override public MethodHandle generate(JRubyCallSite site, RubyClass cls, DynamicMethod method, String realName) { AttrReaderMethod attrReader = (AttrReaderMethod)method; String varName = attrReader.getVariableName(); // we getVariableAccessorForWrite here so it is eagerly created and we don't cache the DUMMY VariableAccessor accessor = cls.getRealClass().getVariableAccessorForWrite(varName); // Ruby to attr reader if (RubyInstanceConfig.LOG_INDY_BINDINGS) { if (accessor instanceof FieldVariableAccessor) { LOG.info(site.name() + "\tbound as field attr reader " + logMethod(method) + ":" + ((AttrReaderMethod)method).getVariableName()); } else { LOG.info(site.name() + "\tbound as attr reader " + logMethod(method) + ":" + ((AttrReaderMethod)method).getVariableName()); } } return createAttrReaderHandle(site, cls, accessor); } }
static MethodHandle buildAttrHandle(InvokeSite site, DynamicMethod method, IRubyObject self, RubyClass dispatchClass) { if (method instanceof AttrReaderMethod && site.arity == 0) { AttrReaderMethod attrReader = (AttrReaderMethod) method; String varName = attrReader.getVariableName(); LOG.info(site.name() + "\tbound as field attr reader " + logMethod(method) + ":" + ((AttrReaderMethod)method).getVariableName()); } else { LOG.info(site.name() + "\tbound as attr reader " + logMethod(method) + ":" + ((AttrReaderMethod)method).getVariableName());
static MethodHandle buildAttrHandle(InvokeSite site, DynamicMethod method, IRubyObject self, RubyClass dispatchClass) { if (method instanceof AttrReaderMethod && site.arity == 0) { AttrReaderMethod attrReader = (AttrReaderMethod) method; String varName = attrReader.getVariableName(); LOG.info(site.name() + "\tbound as field attr reader " + logMethod(method) + ":" + ((AttrReaderMethod)method).getVariableName()); } else { LOG.info(site.name() + "\tbound as attr reader " + logMethod(method) + ":" + ((AttrReaderMethod)method).getVariableName());