mirror of
https://github.com/horsicq/Detect-It-Easy.git
synced 2026-06-24 01:54:08 +00:00
Delete obsolete boolean-version check from db/language::_setLang. The early return for when version === false (WAYBACK support) was legacy compatibility and is no longer needed, simplifying the language detection control flow.
49 lines
No EOL
1.5 KiB
Text
49 lines
No EOL
1.5 KiB
Text
// Detect It Easy: DiE-JS framework file
|
|
// Don't change anything unless you're sure about what you're doing
|
|
|
|
// Author: DosX
|
|
// E-Mail: collab@kay-software.ru
|
|
// GitHub: https://github.com/DosX-dev
|
|
// Telegram: @DosX_dev
|
|
|
|
function _isLangPresent(languageName) {
|
|
return _isResultPresent("language", languageName) || _isResultPresent("~language", languageName);
|
|
}
|
|
|
|
function _isLangDetected() {
|
|
return _getNumberOfResults("language") || _getNumberOfResults("~language");
|
|
}
|
|
|
|
function _setLang(languageName, version) {
|
|
// if "C/C++" already detected
|
|
if (_isLangPresent("C/C++") && (languageName == "C" || languageName == "C++")) {
|
|
_removeResult("language", "C/C++");
|
|
}
|
|
|
|
// if "C" or "C++"" detected
|
|
if (languageName == "C/C++" && (_isLangPresent("C") || _isLangPresent("C++"))) {
|
|
return null;
|
|
}
|
|
|
|
// False-positive detection of C
|
|
if (_isLangPresent("C") && languageName !== "C") {
|
|
_removeResult("language", "C");
|
|
}
|
|
|
|
// False-positive detection of C++
|
|
if (_isLangPresent("C++") && languageName !== "C++") {
|
|
_removeResult("language", "C++");
|
|
}
|
|
|
|
// If the language already detected
|
|
if (_isLangDetected() && (languageName == "C/C++" || languageName == "C++" || languageName == "C")) {
|
|
return null;
|
|
}
|
|
|
|
if (File.isVerbose() && !_isLangPresent(languageName)) {
|
|
var isHeurResult = (version == "HEUR");
|
|
|
|
_setResult((isHeurResult ? "~" : "") + "language", languageName, (version && !isHeurResult ? version : ""), "");
|
|
}
|
|
|
|
} |