public static IEnumerable <ResMemberLineDeclBuilder> GetMemberLines( this IResContainerFacetBuilder facetBuilder) { foreach (var mng in facetBuilder.MemberNameGroups) { foreach (var mcg in mng.Categories) { foreach (var line in mcg.Lines) { yield return(line); } } } }
public ResMemberCategoryGroupBuilder( IResContainerFacetBuilder facetBuilder, ResMemberNameGroupBuilder nameGroupBuilder, ResMemberCategory category) : base(nameGroupBuilder.LazyFactory) { nameGroupBuilder.AddAction(NewBuilderPhase.Seal, () => DoneBuilding()); AddDependency(nameGroupBuilder); DoneBuilding(NewBuilderPhase.Dependencies); _facetBuilder = facetBuilder; _nameGroupBuilder = nameGroupBuilder; _category = category; var resMemberCategoryGroup = new ResMemberCategoryGroup( Name, Flavor, NewLazy(() => (from lineBuilder in _lines select lineBuilder.Value).Eager())); SetValue(resMemberCategoryGroup); }
public ResMemberNameGroupBuilder( ILazyFactory lazyFactory, IResContainerFacetBuilder facet, Identifier name) : base(lazyFactory) { if (facet != null) { facet.AddAction(NewBuilderPhase.Seal, () => DoneBuilding()); AddDependency(facet); } DoneBuilding(NewBuilderPhase.Dependencies); _facet = facet; _name = name; var resMemberNameGroup = new ResMemberNameGroup( name, NewLazy(() => (from cgb in _categoryGroups.Values select cgb.Value).Eager())); SetValue(resMemberNameGroup); }