ABB.SrcML.SrcMLGenerator.GenerateSrcMLFromFile C# (CSharp) Method

GenerateSrcMLFromFile() public method

Generate a SrcML document from a single source file.
public GenerateSrcMLFromFile ( string sourceFileName, string xmlFileName, System.Language language ) : void
sourceFileName string The path to the source file to convert.
xmlFileName string The file name to write the resulting XML to.
language System.Language The language to parse the source file as. If this is Language.Any, then the language will be determined from the file extension.
return void
        public void GenerateSrcMLFromFile(string sourceFileName, string xmlFileName, Language language) {
            if(language == Language.Any) {
                string ext = Path.GetExtension(sourceFileName);
                if(ext == null || !extensionMapping.ContainsKey(ext)) {
                    throw new ArgumentException(string.Format("Unknown file extension: {0}", ext), "sourceFileName");
                }
                language = extensionMapping[ext];
            }
            Src2SrcMLRunner2 runner = nonDefaultExecutables.ContainsKey(language) ? nonDefaultExecutables[language] : defaultExecutable;
            var additionalArguments = CreateArgumentsForLanguage(language);
            var runnerExtMap = CreateExtensionMappingForRunner(runner);

            runner.GenerateSrcMLFromFile(sourceFileName, xmlFileName, language, additionalArguments, runnerExtMap);
        }

Same methods

SrcMLGenerator::GenerateSrcMLFromFile ( string sourceFileName, string xmlFileName ) : void

Usage Example

コード例 #1
0
ファイル: ExternalTests.cs プロジェクト: nkcsgexi/SrcML.NET
        public void TestCSharpUsingStatement() {
            var generator = new SrcMLGenerator(TestConstants.SrcmlPath);
            generator.GenerateSrcMLFromFile("external\\TestCSharpUsingStatement.cs", "external_xml\\TestCSharpUsingStatement.cs.xml");
            var fileUnit = SrcMLElement.Load("external_xml\\TestCSharpUsingStatement.cs.xml");

            var usingBlock = fileUnit.Elements(SRC.Using).FirstOrDefault();
            Assert.IsNotNull(usingBlock);

            Assert.AreEqual(1, usingBlock.Elements(SRC.Declaration).Count());
            Assert.AreEqual(1, usingBlock.Elements(SRC.Block).Count());
        }
All Usage Examples Of ABB.SrcML.SrcMLGenerator::GenerateSrcMLFromFile