示例#1
0
 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;
 }
示例#2
0
        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);
        }