public ResMemberCategoryGroupBuilder FindMemberCategoryGroup(ResMemberCategory category) { ResMemberCategoryGroupBuilder result = null; _categoryGroups.TryGetValue(category.Flavor, out result); return(result); }
public ResMemberCategoryGroupBuilder GetMemberCategoryGroup(ResMemberCategory category) { ResMemberCategoryGroupBuilder result = null; if (_categoryGroups.TryGetValue(category.Flavor, out result)) { return(result); } AssertBuildable(); result = new ResMemberCategoryGroupBuilder(_facet, this, category); _categoryGroups.Add(category.Flavor, result); return(result); }
public ResMemberLineDecl( Identifier name, ResLexicalID originalLexicalID, ResMemberCategory category, ILazy <ResMemberConcretenessMode> concretenessMode, ILazy <ResMemberDeclMode> declMode, ILazy <ResTag[]> tags, ILazy <IResMemberDecl> directDecl, ILazy <IResMemberDecl[]> inheritedDecls) { _name = name; _originalLexicalID = originalLexicalID; _category = category; _concretenessMode = concretenessMode; _declMode = declMode; _tags = tags; _directDecl = directDecl; _inheritedDecls = inheritedDecls; }
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 ResMemberLineDeclBuilder( ResMemberCategoryGroupBuilder parent, ILazyFactory lazy, Identifier name, ResLexicalID originalLexicalID, ResMemberCategory category) : base(lazy) { parent.AddAction(NewBuilderPhase.Seal, () => DoneBuilding()); AddDependency(parent); DoneBuilding(NewBuilderPhase.Dependencies); var resMemberLineDecl = new ResMemberLineDecl( name, originalLexicalID, category, NewLazy(() => _concretenessMode), NewLazy(() => _declMode), NewLazy(() => _tags.ToArray()), NewLazy(() => _directDecl), NewLazy(() => _inheritedDecls.ToArray())); SetValue(resMemberLineDecl); }
public IResMemberCategoryGroup FindCategoryGroup(ResMemberCategory category) { return(CachedCategoryGroups.Cache(category.Flavor, () => null)); }