/// <summary> /// Registers a new folder with decl files. /// </summary> /// <param name="folder"></param> /// <param name="extension"></param> /// <param name="defaultType"></param> public void RegisterDeclFolder(string folder, string extension, DeclType defaultType) { // check whether this folder / extension combination already exists foreach (idDeclFolder tmp in _declFolders) { if ((StringComparer.InvariantCultureIgnoreCase.Compare(tmp.Folder, folder) == 0) && (StringComparer.InvariantCultureIgnoreCase.Compare(tmp.Extension, extension) == 0)) { idConsole.Warning("decl folder '{0}' already exists", folder); return; } } idDeclFolder declFolder = new idDeclFolder(); declFolder.Folder = folder; declFolder.Extension = extension; declFolder.DefaultType = defaultType; _declFolders.Add(declFolder); // scan for decl files idFileList fileList = idE.FileSystem.GetFiles(declFolder.Folder, declFolder.Extension, true); idDeclFile declFile = null; // load and parse decl files foreach (string file in fileList.Files) { string fileName = Path.Combine(declFolder.Folder, file); // check whether this file has already been loaded if (_loadedFiles.ContainsKey(fileName) == true) { declFile = _loadedFiles[fileName]; } else { declFile = new idDeclFile(fileName, defaultType); _loadedFiles.Add(fileName, declFile); } declFile.LoadAndParse(); } }
protected virtual void ClearData() { _sourceFile = null; }