Пример #1
0
        partial void ScanPass(ParsingContext ctx)
        {
            SemanticPass(ctx);
            var final = ctx.DefiningCtorAsType();

            for (var i = listnamedparamdecl_.Count - 1; i >= 0; --i)
            {
                var namedParam = listnamedparamdecl_[i];
                final = TyNamedArr.Create(namedParam.AsHead, final, ctx);
            }
            ctx.AddDefiningValCtor(simplename_, final);

            ctx.StopDefiningCtor(indtyctorpre_.IndTypeParam.TyCtorDecl_.Name, this);
        }
Пример #2
0
        partial void ScanPass(ParsingContext ctx)
        {
            SemanticPass(ctx);
            var final = ctx.DefiningCtorAsType();

            for (var i = listnamedparamdecl_.Count - 1; i >= 0; --i)
            {
                var namedParam = listnamedparamdecl_[i];
                final = TyNamedArr.Create(namedParam.AsHead, final, ctx);
            }

            var autoNamed = NameIdent.Create(GenerateConstructorName(), coindtyctorpre_._lexLocation, ctx);

            ctx.AddDefiningValCtor(autoNamed, final);

            ctx.StopDefiningCtor(coindtyctorpre_.CoIndTypeParam.TyCtorDecl_.Name, this);
        }