Example #1
0
        private static List <T> RunPredicate <T>(frIPredicate predicate, T[] enumerable) where T : frMember
        {
            var result = new List <T>();

            RunPredicate(predicate, enumerable, result);
            return(result);
        }
Example #2
0
 public frField[] GetDeclaredFieldsByPredicate(frIPredicate predicate)
 {
     EnsureInitialized();
     frField[] result;
     if (!_declaredPredicateToFields.TryGetValue(predicate, out result))
     {
         _declaredPredicateToFields[predicate] = result = RunPredicate(predicate, Fields).ToArray();
     }
     return(result);
 }
Example #3
0
 private static void RunPredicate <T>(frIPredicate predicate, T[] enumerable, List <T> result) where T : frMember
 {
     foreach (T value in enumerable)
     {
         if (predicate.IsMatch(value))
         {
             result.Add(value);
         }
     }
 }
Example #4
0
 public frMethod[] GetFlattenedMethodsByPredicate(frIPredicate predicate)
 {
     EnsureInitialized();
     frMethod[] result;
     if (!_flattenedPredicateToMethods.TryGetValue(predicate, out result))
     {
         var    members = new List <frMethod>();
         frType type    = this;
         while (type != null)
         {
             RunPredicate(predicate, type.Methods, members);
             type = type.Parent;
         }
         _flattenedPredicateToMethods[predicate] = result = members.ToArray();
     }
     return(result);
 }
Example #5
0
 public frField[] GetFlattenedFieldsByPredicate(frIPredicate predicate)
 {
     EnsureInitialized();
     frField[] result;
     if (!_flattenedPredicateToFields.TryGetValue(predicate, out result))
     {
         var    fields = new List <frField>();
         frType type   = this;
         while (type != null)
         {
             RunPredicate(predicate, type.Fields, fields);
             type = type.Parent;
         }
         _flattenedPredicateToFields[predicate] = result = fields.ToArray();
     }
     return(result);
 }