Esempio n. 1
0
    protected virtual IDictionary <string, TemplateDefinition> CreateTextTemplateDefinitions()
    {
        var templates = new Dictionary <string, TemplateDefinition>();

        using (var scope = ServiceProvider.CreateScope())
        {
            var providers = Options
                            .DefinitionProviders
                            .Select(p => scope.ServiceProvider.GetRequiredService(p) as ITemplateDefinitionProvider)
                            .ToList();

            var context = new TemplateDefinitionContext(templates);

            foreach (var provider in providers)
            {
                provider.PreDefine(context);
            }

            foreach (var provider in providers)
            {
                provider.Define(context);
            }

            foreach (var provider in providers)
            {
                provider.PostDefine(context);
            }
        }

        return(templates);
    }
    public TemplateDefinitionContext templateDefinition()
    {
        TemplateDefinitionContext _localctx = new TemplateDefinitionContext(Context, State);

        EnterRule(_localctx, 12, RULE_templateDefinition);
        try {
            EnterOuterAlt(_localctx, 1);
            {
                State = 52; templateNameLine();
                State = 53; templateBody();
            }
        }
        catch (RecognitionException re) {
            _localctx.exception = re;
            ErrorHandler.ReportError(this, re);
            ErrorHandler.Recover(this, re);
        }
        finally {
            ExitRule();
        }
        return(_localctx);
    }