@Override public void setVisibility(Visibility visibility) { delegate.setVisibility(visibility); }
@Override public void setVisibility(Visibility visibility) { delegate.setVisibility(visibility); }
@Override public void setVisibility(Visibility visibility) { delegate.setVisibility(visibility); }
@Override public void setVisibility(Visibility visibility) { delegate.setVisibility(visibility); }
@Override public void setVisibility(Visibility visibility) { if (compiledMethod == null) initializeMethod(); compiledMethod.setVisibility(visibility); }
@Override public void setVisibility(Visibility visibility) { if (compiledMethod == null) initializeMethod(); compiledMethod.setVisibility(visibility); }
@Override public void setVisibility(Visibility visibility) { // We promote our box to being its own box since we're changing // visibilities, and need it to be reflected on this method object // independent of any other sharing the box. DynamicMethodBox newBox = new DynamicMethodBox(); newBox.actualMethod = box.actualMethod.dup(); newBox.callCount = box.callCount; box = newBox; super.setVisibility(visibility); } }
@Override public void setVisibility(Visibility visibility) { // We promote our box to being its own box since we're changing // visibilities, and need it to be reflected on this method object // independent of any other sharing the box. DynamicMethodBox newBox = new DynamicMethodBox(); newBox.actualMethod = box.actualMethod.dup(); newBox.callCount = box.callCount; box = newBox; super.setVisibility(visibility); } }
public static DynamicMethod populateModuleMethod(RubyModule cls, DynamicMethod javaMethod) { DynamicMethod moduleMethod = javaMethod.dup(); moduleMethod.setImplementationClass(cls.getSingletonClass()); moduleMethod.setVisibility(Visibility.PUBLIC); return moduleMethod; }
public static DynamicMethod populateModuleMethod(RubyModule cls, JavaMethod javaMethod) { DynamicMethod moduleMethod = javaMethod.dup(); moduleMethod.setImplementationClass(cls.getSingletonClass()); moduleMethod.setVisibility(Visibility.PUBLIC); return moduleMethod; }
public static DynamicMethod populateModuleMethod(RubyModule cls, JavaMethod javaMethod) { DynamicMethod moduleMethod = javaMethod.dup(); moduleMethod.setImplementationClass(cls.getSingletonClass()); moduleMethod.setVisibility(Visibility.PUBLIC); return moduleMethod; }
public static DynamicMethod populateModuleMethod(RubyModule cls, DynamicMethod javaMethod) { DynamicMethod moduleMethod = javaMethod.dup(); moduleMethod.setImplementationClass(cls.getSingletonClass()); moduleMethod.setVisibility(Visibility.PUBLIC); return moduleMethod; }
private static void addModuleMethod(RubyModule containingClass, DynamicMethod method, ThreadContext context, RubySymbol sym) { DynamicMethod singletonMethod = method.dup(); singletonMethod.setImplementationClass(containingClass.getSingletonClass()); singletonMethod.setVisibility(Visibility.PUBLIC); containingClass.getSingletonClass().addMethod(sym.idString(), singletonMethod); containingClass.callMethod(context, "singleton_method_added", sym); }
private static void addModuleMethod(RubyModule containingClass, DynamicMethod method, ThreadContext context, RubySymbol sym) { DynamicMethod singletonMethod = method.dup(); singletonMethod.setImplementationClass(containingClass.getSingletonClass()); singletonMethod.setVisibility(Visibility.PUBLIC); containingClass.getSingletonClass().addMethod(sym.idString(), singletonMethod); containingClass.callMethod(context, "singleton_method_added", sym); }
/** rb_export_method * */ public void exportMethod(String name, Visibility visibility) { Ruby runtime = getRuntime(); DynamicMethod method = deepMethodSearch(name, runtime); if (method.getVisibility() != visibility) { if (this == method.getImplementationClass()) { method.setVisibility(visibility); } else { DynamicMethod newMethod = new PartialDelegatingMethod(this, method, visibility); methodLocation.addMethod(name, newMethod); } invalidateCoreClasses(); invalidateCacheDescendants(); } }
/** rb_export_method * */ public void exportMethod(String name, Visibility visibility) { Ruby runtime = getRuntime(); DynamicMethod method = deepMethodSearch(name, runtime); if (method.getVisibility() != visibility) { if (this == method.getImplementationClass()) { method.setVisibility(visibility); } else { // FIXME: Why was this using a FullFunctionCallbackMethod before that did callSuper? addMethod(name, new WrapperMethod(this, method, visibility)); } invalidateCoreClasses(); invalidateCacheDescendants(); } }
/** rb_export_method * */ public void exportMethod(String name, Visibility visibility) { Ruby runtime = getRuntime(); DynamicMethod method = deepMethodSearch(name, runtime); if (method.getVisibility() != visibility) { if (this == method.getImplementationClass()) { method.setVisibility(visibility); } else { DynamicMethod newMethod = new PartialDelegatingMethod(this, method, visibility); methodLocation.addMethod(name, newMethod); } invalidateCoreClasses(); invalidateCacheDescendants(); } }
/** rb_export_method * */ public void exportMethod(String name, Visibility visibility) { Ruby runtime = getRuntime(); DynamicMethod method = deepMethodSearch(name, runtime); if (method.getVisibility() != visibility) { if (this == method.getImplementationClass()) { method.setVisibility(visibility); } else { // FIXME: Why was this using a FullFunctionCallbackMethod before that did callSuper? addMethod(name, new WrapperMethod(this, method, visibility)); } invalidateCoreClasses(); invalidateCacheDescendants(); } }
public IRubyObject defineMethodFromCallable(ThreadContext context, IRubyObject arg0, IRubyObject arg1, Visibility visibility) { final Ruby runtime = context.runtime; RubySymbol name = TypeConverter.checkID(arg0); DynamicMethod newMethod; if (runtime.getProc().isInstance(arg1)) { // double-testing args.length here, but it avoids duplicating the proc-setup code in two places RubyProc proc = (RubyProc)arg1; newMethod = createProcMethod(runtime, name.idString(), visibility, proc.getBlock()); } else if (arg1 instanceof AbstractRubyMethod) { AbstractRubyMethod method = (AbstractRubyMethod)arg1; checkValidBindTargetFrom(context, (RubyModule) method.owner(context)); newMethod = method.getMethod().dup(); newMethod.setImplementationClass(this); newMethod.setVisibility(visibility); } else { throw runtime.newTypeError("wrong argument type " + arg1.getType().getName() + " (expected Proc/Method)"); } Helpers.addInstanceMethod(this, name, newMethod, visibility, context, runtime); return name; }
public IRubyObject defineMethodFromCallable(ThreadContext context, IRubyObject arg0, IRubyObject arg1, Visibility visibility) { final Ruby runtime = context.runtime; RubySymbol name = TypeConverter.checkID(arg0); DynamicMethod newMethod; if (runtime.getProc().isInstance(arg1)) { // double-testing args.length here, but it avoids duplicating the proc-setup code in two places RubyProc proc = (RubyProc)arg1; newMethod = createProcMethod(runtime, name.idString(), visibility, proc.getBlock()); } else if (arg1 instanceof AbstractRubyMethod) { AbstractRubyMethod method = (AbstractRubyMethod)arg1; checkValidBindTargetFrom(context, (RubyModule) method.owner(context)); newMethod = method.getMethod().dup(); newMethod.setImplementationClass(this); newMethod.setVisibility(visibility); } else { throw runtime.newTypeError("wrong argument type " + arg1.getType().getName() + " (expected Proc/Method)"); } Helpers.addInstanceMethod(this, name, newMethod, visibility, context, runtime); return name; }