@@ -497,18 +497,55 @@ public Type M6(Type t)
497
497
}
498
498
}
499
499
500
- // No models as higher order methods are excluded
501
- // from model generation.
500
+ // Methods in this class are "neutral" with respect to the heuristic model generation, but
501
+ // the content based model generation is able to produce flow summaries for them .
502
502
public class HigherOrderParameters
503
503
{
504
+ // neutral=Models;HigherOrderParameters;M1;(System.String,System.Func<System.String,System.String>);summary;df-generated
505
+ // contentbased-summary=Models;HigherOrderParameters;false;M1;(System.String,System.Func<System.String,System.String>);;Argument[0];ReturnValue;value;dfc-generated
504
506
public string M1 ( string s , Func < string , string > map )
505
507
{
506
508
return s ;
507
509
}
508
510
509
- public object M2 ( Func < object , object > map , object o )
511
+ // neutral=Models;HigherOrderParameters;Map;(System.Func<System.Object,System.Object>,System.Object);summary;df-generated
512
+ // contentbased-summary=Models;HigherOrderParameters;false;Map;(System.Func<System.Object,System.Object>,System.Object);;Argument[1];Argument[0].Parameter[0];value;dfc-generated
513
+ // contentbased-summary=Models;HigherOrderParameters;false;Map;(System.Func<System.Object,System.Object>,System.Object);;Argument[0].ReturnValue;ReturnValue;value;dfc-generated
514
+ public object Map ( Func < object , object > f , object o )
510
515
{
511
- return map ( o ) ;
516
+ return f ( o ) ;
517
+ }
518
+
519
+ // neutral=Models;HigherOrderParameters;Map2;(System.Object,System.Func<System.Object,System.Object,System.Object>);summary;df-generated
520
+ // contentbased-summary=Models;HigherOrderParameters;false;Map2;(System.Object,System.Func<System.Object,System.Object,System.Object>);;Argument[0];Argument[1].Parameter[1];value;dfc-generated
521
+ // contentbased-summary=Models;HigherOrderParameters;false;Map2;(System.Object,System.Func<System.Object,System.Object,System.Object>);;Argument[1].ReturnValue;ReturnValue;value;dfc-generated
522
+ public object Map2 ( object o , Func < object , object , object > f )
523
+ {
524
+ var x = f ( null , o ) ;
525
+ return x ;
526
+ }
527
+
528
+ // neutral=Models;HigherOrderParameters;Apply;(System.Action<System.Object>,System.Object);summary;df-generated
529
+ // contentbased-summary=Models;HigherOrderParameters;false;Apply;(System.Action<System.Object>,System.Object);;Argument[1];Argument[0].Parameter[0];value;dfc-generated
530
+ public void Apply ( Action < object > a , object o )
531
+ {
532
+ a ( o ) ;
533
+ }
534
+ }
535
+
536
+ public static class HigherOrderExtensionMethods
537
+ {
538
+ // neutral=Models;HigherOrderExtensionMethods;Select<TSource,TResult>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TResult>);summary;df-generated
539
+ // contentbased-summary=Models;HigherOrderExtensionMethods;false;Select<TSource,TResult>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated
540
+ // contentbased-summary=Models;HigherOrderExtensionMethods;false;Select<TSource,TResult>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TResult>);;Argument[1].ReturnValue;ReturnValue.Element;value;dfc-generated
541
+ public static IEnumerable < TResult > Select < TSource , TResult > (
542
+ this IEnumerable < TSource > source ,
543
+ Func < TSource , TResult > selector )
544
+ {
545
+ foreach ( var item in source )
546
+ {
547
+ yield return selector ( item ) ;
548
+ }
512
549
}
513
550
}
514
551
0 commit comments