public override TreeElement ParseDirective()

in Backend/Core/ForTea.Core/Parsing/T4Parser.cs [114:130]


    public override TreeElement ParseDirective()
    {
      var lookahead = myLexer.LookaheadToken(1);
      if (lookahead == T4TokenNodeTypes.TEMPLATE) return ParseTemplateDirective();
      if (lookahead == T4TokenNodeTypes.PARAMETER) return ParseParameterDirective();
      if (lookahead == T4TokenNodeTypes.OUTPUT) return ParseOutputDirective();
      if (lookahead == T4TokenNodeTypes.ASSEMBLY) return ParseAssemblyDirective();
      if (lookahead == T4TokenNodeTypes.IMPORT) return ParseImportDirective();
      if (lookahead == T4TokenNodeTypes.INCLUDE) return ParseIncludeDirective();
      if (lookahead == T4TokenNodeTypes.CLEANUP_BEHAVIOR) return ParseCleanupBehaviorDirective();
      if (lookahead == T4TokenNodeTypes.UNKNOWN_DIRECTIVE_NAME) return ParseUnknownDirective();
      // Failure
      var result = TreeElementFactory.CreateCompositeElement(ElementType.UNKNOWN_DIRECTIVE);
      var tempParsingResult = Match(T4TokenNodeTypes.DIRECTIVE_START);
      result.AppendNewChild(tempParsingResult);
      return HandleErrorInDirective(result, new UnexpectedToken("Missing directive name"));
    }