/// <summary> /// Gets the property value. /// </summary> /// <param name="property">The property.</param> /// <returns>The value of the property.</returns> public object GetPropertyValue(TaskPropertyInfo property) { dynamic res; dynamic variable = this.scope.GetVariable(RubyUtils.HasMangledName(property.Name) ? RubyUtils.TryMangleName(property.Name) : property.Name); variable.TryGetValue(out res); return(res); }
internal static RubyArray /*!*/ GetMethods(RubyModule /*!*/ self, bool inherited, RubyMethodAttributes attributes, IEnumerable <string> foreignMembers) { var result = new RubyArray(); using (self.Context.ClassHierarchyLocker()) { self.ForEachMember(inherited, attributes, foreignMembers, (name, module, member) => { if (member.IsInteropMember && (module.Restrictions & ModuleRestrictions.NoNameMapping) == 0 && RubyUtils.HasMangledName(name)) { if (Tokenizer.IsMethodName(name) || Tokenizer.IsOperatorName(name)) { result.Add(new ClrName(name)); } } else { result.Add(self.Context.StringifyIdentifier(name)); } }); } return(result); }