Ejemplo n.º 1
0
 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);
             }
         }
     }
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }