public EditorData MakeEditorData() { var editorData = new EditorData { ParseCache = _cacheView, IsDebug = _isDebug, DebugLevel = _debugLevel, VersionNumber = _versionNumber, GlobalDebugIds = _debugIds, GlobalVersionIds = _versionIds }; editorData.NewResolutionContexts(); return(editorData); }
/////////////////////////////////// void _setupEditorData() { string versions = _versionIds; versions += "Windows\n" + "LittleEndian\n" + "D_HardFloat\n" + "all\n" + "D_Version2\n"; if ((_flags & 1) != 0) { versions += "unittest\n"; } if ((_flags & 2) != 0) { versions += "assert\n"; } if ((_flags & 4) != 0) { versions += "Win64\n" + "X86_64\n" + "D_InlineAsm_X86_64\n" + "D_LP64\n"; } else { versions += "Win32\n" + "X86\n" + "D_InlineAsm_X86\n"; } if ((_flags & 8) != 0) { versions += "D_Coverage\n"; } if ((_flags & 16) != 0) { versions += "D_Ddoc\n"; } if ((_flags & 32) != 0) { versions += "D_NoBoundsChecks\n"; } if ((_flags & 64) != 0) { versions += "GNU\n"; } else if ((_flags & 0x4000000) != 0) { versions += "LDC\n"; } else { versions += "DigitalMars\n"; } if ((_flags & 0x8000000) != 0) { versions += "CRuntime_Microsoft\n"; } else if ((_flags & 0x4000040) != 0) // GNU or LDC { versions += "CRuntime_MinGW\n"; } else { versions += "CRuntime_DigitalMars\n"; } string[] uniqueDirs = uniqueDirectories(_imports); bool isDebug = (_flags & 2) != 0; uint debugLevel = (_flags >> 16) & 0xff; uint versionNumber = (_flags >> 8) & 0xff; string[] versionIds = versions.Split(nlSeparator, StringSplitOptions.RemoveEmptyEntries); string[] debugIds = _debugIds.Split(nlSeparator, StringSplitOptions.RemoveEmptyEntries); if (_editorData.ParseCache == null || !(_editorData.ParseCache as VDserverParseCacheView).PackageRootDirs.SequenceEqual(uniqueDirs) || isDebug != _editorData.IsDebug || debugLevel != _editorData.DebugLevel || versionNumber != _editorData.VersionNumber || !versionIds.SequenceEqual(_editorData.GlobalVersionIds) || !debugIds.SequenceEqual(_editorData.GlobalDebugIds)) { _editorData.ParseCache = new VDserverParseCacheView(uniqueDirs); _editorData.IsDebug = isDebug; _editorData.DebugLevel = debugLevel; _editorData.VersionNumber = versionNumber; _editorData.GlobalVersionIds = versionIds; _editorData.GlobalDebugIds = debugIds; _editorData.NewResolutionContexts(); } CompletionOptions.Instance.ShowUFCSItems = (_flags & 0x2000000) != 0; CompletionOptions.Instance.DisableMixinAnalysis = (_flags & 0x1000000) == 0; CompletionOptions.Instance.HideDeprecatedNodes = (_flags & 128) != 0; CompletionOptions.Instance.CompletionTimeout = -1; // 2000; }