public static RubyArray/*!*/ GetMethods(RubyContext/*!*/ context, object self, [DefaultParameterValue(true)]bool inherited) { var foreignMembers = context.GetForeignDynamicMemberNames(self); RubyClass immediateClass = context.GetImmediateClassOf(self); if (!inherited && !immediateClass.IsSingletonClass) { var result = new RubyArray(); if (foreignMembers.Count > 0) { var symbolicNames = context.RubyOptions.Compatibility > RubyCompatibility.Ruby18; foreach (var name in foreignMembers) { result.Add(new ClrName(name)); } } return result; } return ModuleOps.GetMethods(immediateClass, inherited, RubyMethodAttributes.Public | RubyMethodAttributes.Protected, foreignMembers); }
public static RubyArray GetMethods(RubyContext/*!*/ context, object self, [DefaultParameterValue(true)]bool inherited) { var foreignMembers = context.GetForeignDynamicMemberNames(self); RubyClass immediateClass = context.GetImmediateClassOf(self); if (!inherited && !immediateClass.IsSingletonClass) { var result = new RubyArray(); if (foreignMembers.Count > 0) { foreach (var name in foreignMembers) { if (Tokenizer.IsMethodName(name) || Tokenizer.IsOperatorName(name)) { result.Add(new ClrName(name)); } } } return result; } return ModuleOps.GetMethods(immediateClass, inherited, RubyMethodAttributes.Public | RubyMethodAttributes.Protected, foreignMembers); }