Antlr4.StringTemplate.TemplateGroup.DefineRegion C# (CSharp) Method

DefineRegion() public method

public DefineRegion ( string enclosingTemplateName, IToken regionT, string template, IToken templateToken ) : CompiledTemplate
enclosingTemplateName string
regionT IToken
template string
templateToken IToken
return Antlr4.StringTemplate.Compiler.CompiledTemplate
        public virtual CompiledTemplate DefineRegion(string enclosingTemplateName, IToken regionT, string template, IToken templateToken)
        {
            string name = regionT.Text;
            template = Utility.TrimOneStartingNewline(template);
            template = Utility.TrimOneTrailingNewline(template);
            CompiledTemplate code = Compile(FileName, enclosingTemplateName, null, template, templateToken);
            string mangled = GetMangledRegionName(enclosingTemplateName, name);

            if (LookupTemplate(mangled) == null)
            {
                ErrorManager.CompiletimeError(ErrorType.NO_SUCH_REGION, null, regionT, enclosingTemplateName, name);
                return new CompiledTemplate();
            }

            code.Name = mangled;
            code.IsRegion = true;
            code.RegionDefType = Template.RegionType.Explicit;
            code.TemplateDefStartToken = regionT;

            RawDefineTemplate(mangled, code, regionT);
            code.DefineArgumentDefaultValueTemplates(this);
            code.DefineImplicitlyDefinedTemplates(this); // define any anonymous subtemplates
            return code;
        }