RubyModule containingClass = context.getRubyClass();
Visibility visibility = context.getCurrentVisibility();
performNormalMethodChecks(containingClass, runtime, name);
StaticScope scope = creatScopeForClass(context, scopeNames, required, optional, rest);
MethodFactory factory = MethodFactory.createFactory(compiledClass.getClassLoader());
DynamicMethod method = constructNormalMethod(name, visibility, factory, containingClass, javaName, arity, scope, scriptObject, callConfig);
addInstanceMethod(containingClass, name, method, visibility,context, runtime);