public SXILParser(string aFileName, string aRootNodeName, SXILDocument aDocument) { iFileName = aFileName; iDocument = aDocument; iRootNodeName = aRootNodeName; // XmlReaderSettings settings = new XmlReaderSettings(); settings.ConformanceLevel = ConformanceLevel.Auto; settings.IgnoreComments = true; settings.CheckCharacters = true; settings.IgnoreWhitespace = true; // iReader = XmlReader.Create(iFileName, settings); iXmlDocument.Load(iReader); }
private SXILDocument CreateDocumentTree(string aFileName) { SXILDocument doc = new SXILDocument(); // Read input file into document using (SXILParser parser = new SXILParser(aFileName, KInputFileDocumentRootNode, doc)) { parser.CategoryAdd(KInputFileCategorySource, new SXILParserNodeFileSystem()); parser.CategoryAdd(KInputFileCategoryDebugMetaData, new SXILParserNodeFileSystem()); parser.CategoryAdd(KInputFileCategoryParameters, new SXILParserNodeCommand(KInputFileCommandNameAnalysis), new SXILParserNodeCommand(KInputFileCommandThread) ); parser.CategoryAdd(KInputFileCategoryOutput, new SXILParserNodeFileSystem()); parser.Parse(); } return(doc); }
private void ExtractData(SXILDocument aDocument) { foreach (SXILElement element in aDocument) { if (element is SXILElementCategory) { SXILElementCategory category = (SXILElementCategory)element; string name = category.Name.ToLower(); // switch (name) { case KInputFileCategorySource: ExtractFileList <CACmdLineFileSource>(iSources, category); break; case KInputFileCategoryDebugMetaData: // The debug meta data engine doesn't support directories anymore // so we have to expand all directories to files. ExtractFileList <CACmdLineFSEntity>(iMetaData, category); break; case KInputFileCategoryParameters: ExtractParameters(category); break; case KInputFileCategoryOutput: ExtractOutput(category); break; } } } // We don't require debug meta data if performing a summary operation. Otherwise, we do. if (iMetaData.Count == 0 && iSinkParams.DetailLevel == CISinkSerializationParameters.TDetailLevel.EFull) { Trace("[CmdInput] ExtractData() - WARNING - no debug meta data supplied for full analysis."); } }
public void Read(string aFileName) { Trace("[CmdInput] Read() - aFileName: " + aFileName); try { // First create the tree SXILDocument doc = CreateDocumentTree(aFileName); // Then convert it to the list of elements that we care about ExtractData(doc); } catch (HAUIException cmdLineException) { Trace("[CmdInput] Read() - HAUIException: " + cmdLineException.Message + " " + cmdLineException.StackTrace); throw cmdLineException; } catch (Exception generalException) { Trace("[CmdInput] Read() - generalException: " + generalException.Message + " " + generalException.StackTrace); throw new HAUIException("Error reading input xml file", generalException, HAUIException.KErrCommandLineArgumentsFileInvalid); } Trace("[CmdInput] Read() - read OK: " + aFileName); }
private void ExtractData(SXILDocument aDocument) { foreach (SXILElement element in aDocument) { if (element is SXILElementCategory) { SXILElementCategory category = (SXILElementCategory)element; string name = category.Name.ToLower(); // switch (name) { case KInputFileCategorySource: ExtractFileList <HACmdLineFileSource>(iSources, category, true); break; case KInputFileCategoryDebugMetaData: ExtractFileList <HACmdLineFSEntity>(iMetaData, category, false); break; case KInputFileCategoryParameters: ExtractParameters(category); break; case KInputFileCategoryOutput: ExtractOutput(category); break; } } } // We don't require debug meta data if performing a summary operation. Otherwise, we do. if (iMetaData.Count == 0) { Trace("[CmdInput] ExtractData() - no debug meta data supplied!"); throw new HAUIException("Debug meta-data not present", HAUIException.KErrCommandLineDebugMetaDataMissing); } }