Antlr4.Tool.BuildDependencyGenerator.GetGeneratedFileList C# (CSharp) Méthode

GetGeneratedFileList() public méthode

public GetGeneratedFileList ( ) : IList
Résultat IList
        public virtual IList<string> GetGeneratedFileList()
        {
            AbstractTarget target = generator.GetTarget();
            if (target == null)
            {
                // if the target could not be loaded, no code will be generated.
                return new List<string>();
            }

            IList<string> files = new List<string>();

            // add generated recognizer; e.g., TParser.java
            if (generator.GetTarget().NeedsHeader())
            {
                files.Add(GetOutputFile(generator.GetRecognizerFileName(true)));
            }
            files.Add(GetOutputFile(generator.GetRecognizerFileName(false)));
            // add output vocab file; e.g., T.tokens. This is always generated to
            // the base output directory, which will be just . if there is no -o option
            //
            files.Add(GetOutputFile(generator.GetVocabFileName()));
            // are we generating a .h file?
            Template headerExtST = null;
            Template extST = target.GetTemplates().GetInstanceOf("codeFileExtension");
            if (target.GetTemplates().IsDefined("headerFile"))
            {
                headerExtST = target.GetTemplates().GetInstanceOf("headerFileExtension");
                string suffix = Grammar.GetGrammarTypeToFileNameSuffix(g.Type);
                string fileName = g.name + suffix + headerExtST.Render();
                files.Add(GetOutputFile(fileName));
            }
            if (g.IsCombined())
            {
                // add autogenerated lexer; e.g., TLexer.java TLexer.h TLexer.tokens

                string suffix = Grammar.GetGrammarTypeToFileNameSuffix(ANTLRParser.LEXER);
                string lexer = g.name + suffix + extST.Render();
                files.Add(GetOutputFile(lexer));
                string lexerTokens = g.name + suffix + CodeGenerator.VOCAB_FILE_EXTENSION;
                files.Add(GetOutputFile(lexerTokens));

                // TLexer.h
                if (headerExtST != null)
                {
                    string header = g.name + suffix + headerExtST.Render();
                    files.Add(GetOutputFile(header));
                }
            }

            if (g.tool.gen_listener)
            {
                // add generated listener; e.g., TListener.java
                if (generator.GetTarget().NeedsHeader())
                {
                    files.Add(GetOutputFile(generator.GetListenerFileName(true)));
                }
                files.Add(GetOutputFile(generator.GetListenerFileName(false)));

                // add generated base listener; e.g., TBaseListener.java
                if (generator.GetTarget().NeedsHeader())
                {
                    files.Add(GetOutputFile(generator.GetBaseListenerFileName(true)));
                }
                files.Add(GetOutputFile(generator.GetBaseListenerFileName(false)));
            }

            if (g.tool.gen_visitor)
            {
                // add generated visitor; e.g., TVisitor.java
                if (generator.GetTarget().NeedsHeader())
                {
                    files.Add(GetOutputFile(generator.GetVisitorFileName(true)));
                }
                files.Add(GetOutputFile(generator.GetVisitorFileName(false)));

                // add generated base visitor; e.g., TBaseVisitor.java
                if (generator.GetTarget().NeedsHeader())
                {
                    files.Add(GetOutputFile(generator.GetBaseVisitorFileName(true)));
                }
                files.Add(GetOutputFile(generator.GetBaseVisitorFileName(false)));
            }


            // handle generated files for imported grammars
            IList<Grammar> imports = g.GetAllImportedGrammars();
            if (imports != null)
            {
                foreach (Grammar g in imports)
                {
                    //string outputDir = tool.GetOutputDirectory(g.fileName);
                    //string fname = GroomQualifiedFileName(outputDir, g.GetRecognizerName() + extST.Render());
                    //files.Add(Path.Combine(outputDir, fname));
                    files.Add(GetOutputFile(g.fileName));
                }
            }

            if (files.Count == 0)
            {
                return null;
            }
            return files;
        }