2026-06-18 20:59 ftp://ftp.de.debian.org/debian/pool/main/i/ibus-libpinyin/ibus-libpinyin_1.16.5.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=gtk --library=lua --library=sqlite3 --library=boost --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j1 platform: Linux-6.8.0-124-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.4.0 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04.1) 14.2.0 cppcheck: head 2.21.0 head-info: 93bc251 (2026-06-18 19:24:38 +0200) count: 483 483 elapsed-time: 12.1 12.3 head-timing-info: old-timing-info: head results: ibus-libpinyin-1.16.5/lua/lmyoslib.c:70:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable luaL_checknumber [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lmyoslib.c:120:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TTABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lmyoslib.c:163:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_OSLIBNAME [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lmyoslib.c:73:11: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] ibus-libpinyin-1.16.5/lua/lmyoslib.c:77:11: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] ibus-libpinyin-1.16.5/lua/lmyoslib.c:71:14: style: Variable 'stm' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.5/lua/lua-ext-console.c:95:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-ext-console.c:140:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-ext-console.c:143:12: style: Local variable 'len' shadows outer variable [shadowVariable] ibus-libpinyin-1.16.5/lua/lua-ext-console.c:121:10: note: Shadowed variable ibus-libpinyin-1.16.5/lua/lua-ext-console.c:143:12: note: Shadow local variable ibus-libpinyin-1.16.5/lua/lua-ext-console.c:49:21: style: Variable 'command' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.5/lua/lua-ext-console.c:60:23: style: Variable 'converter' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.5/lua/lua-plugin-init.c:79:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TLIGHTUSERDATA [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin-init.c:88:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin-init.c:94:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PACKAGE_STRING [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin-init.c:121:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TTABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin-init.c:221:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TFUNCTION [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin-init.c:251:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TFUNCTION [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin-init.c:304:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TFUNCTION [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin-init.c:415:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gunichar2 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin-init.c:431:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gunichar2 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin-init.c:431:40: warning: Division by result of sizeof(). g_utf16_to_utf8() expects a size in bytes, did you intend to multiply instead? [sizeofDivisionMemfunc] ibus-libpinyin-1.16.5/lua/lua-plugin.c:164:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ibus_engine_plugin_parent_class [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin.c:199:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin.c:376:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TFUNCTION [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin.c:405:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TTABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin.c:432:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TNUMBER [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin.c:449:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TNUMBER [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin.c:485:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TNUMBER [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin.c:510:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TTABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/lua/lua-plugin.c:401:10: warning: If memory allocation fails, then there is a possible null pointer dereference: candidate [nullPointerOutOfMemory] ibus-libpinyin-1.16.5/lua/lua-plugin.c:399:47: note: Assuming allocation function fails ibus-libpinyin-1.16.5/lua/lua-plugin.c:399:47: note: Assignment 'candidate=malloc(sizeof(struct lua_command_candidate_t))', assigned value is 0 ibus-libpinyin-1.16.5/lua/lua-plugin.c:401:10: note: Null pointer dereference ibus-libpinyin-1.16.5/lua/lua-plugin.c:487:12: warning: If memory allocation fails, then there is a possible null pointer dereference: result [nullPointerOutOfMemory] ibus-libpinyin-1.16.5/lua/lua-plugin.c:486:20: note: Assuming allocation function fails ibus-libpinyin-1.16.5/lua/lua-plugin.c:486:20: note: Assignment 'result=malloc(sizeof(struct lua_command_candidate_t))', assigned value is 0 ibus-libpinyin-1.16.5/lua/lua-plugin.c:487:12: note: Null pointer dereference ibus-libpinyin-1.16.5/lua/lua-plugin.c:488:5: warning: If memory allocation fails, then there is a possible null pointer dereference: result [nullPointerOutOfMemory] ibus-libpinyin-1.16.5/lua/lua-plugin.c:486:20: note: Assuming allocation function fails ibus-libpinyin-1.16.5/lua/lua-plugin.c:486:20: note: Assignment 'result=malloc(sizeof(struct lua_command_candidate_t))', assigned value is 0 ibus-libpinyin-1.16.5/lua/lua-plugin.c:488:5: note: Null pointer dereference ibus-libpinyin-1.16.5/lua/lua-plugin.c:458:9: style: Local variable 'type' shadows outer variable [shadowVariable] ibus-libpinyin-1.16.5/lua/lua-plugin.c:445:35: note: Shadowed variable ibus-libpinyin-1.16.5/lua/lua-plugin.c:458:9: note: Shadow local variable ibus-libpinyin-1.16.5/lua/lua-plugin.c:222:19: style: Variable 'ca' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.5/lua/lua-plugin.c:223:19: style: Variable 'cb' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.5/lua/lua-plugin.c:254:29: style: Variable 'priv' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.5/lua/lua-plugin.c:271:29: style: Variable 'priv' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.5/lua/lua-plugin.c:326:29: style: Variable 'priv' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.5/lua/lua-plugin.c:346:23: style: Variable 'converter' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.5/lua/lua-plugin.c:359:29: style: Variable 'priv' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.5/lua/test-lua-plugin.c:33:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUASCRIPTDIR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYConfig.h:210:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_BOOLEAN [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYConfig.h:221:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_INT32 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYConfig.h:232:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_STRING [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYConfig.h:243:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_INT64 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYConfig.cc:42:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_ORIENTATION_HORIZONTAL [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYConfig.cc:107:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_BOOLEAN [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYConfig.cc:121:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_INT32 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYConfig.cc:135:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_STRING [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYConfig.cc:149:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_INT64 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYConfig.cc:28:9: warning: Member variable 'Config::m_select_keys' is not initialized in the constructor. [uninitMemberVar] ibus-libpinyin-1.16.5/src/PYConfig.cc:28:9: warning: Member variable 'Config::m_guide_key' is not initialized in the constructor. [uninitMemberVar] ibus-libpinyin-1.16.5/src/PYConfig.cc:28:9: warning: Member variable 'Config::m_auxiliary_select_key_f' is not initialized in the constructor. [uninitMemberVar] ibus-libpinyin-1.16.5/src/PYConfig.cc:28:9: warning: Member variable 'Config::m_auxiliary_select_key_kp' is not initialized in the constructor. [uninitMemberVar] ibus-libpinyin-1.16.5/src/PYConfig.cc:190:9: style: Unused private function: 'Config::valueChangedCallback' [unusedPrivateFunction] ibus-libpinyin-1.16.5/src/PYConfig.h:137:17: note: Unused private function: 'Config::valueChangedCallback' ibus-libpinyin-1.16.5/src/PYConfig.cc:190:9: note: Unused private function: 'Config::valueChangedCallback' ibus-libpinyin-1.16.5/src/PYObject.h:31:5: style: Class 'Object' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYConfig.h:50:5: style: Class 'Config' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYPointer.h:30:5: style: Struct 'Pointer < GObject >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYConfig.h:54:17: performance: Function 'dictionaries()' should return member 'm_dictionaries' by const reference. [returnByReference] ibus-libpinyin-1.16.5/src/PYConfig.h:55:17: performance: Function 'luaConverter()' should return member 'm_lua_converter' by const reference. [returnByReference] ibus-libpinyin-1.16.5/src/PYConfig.h:91:17: performance: Function 'mainSwitch()' should return member 'm_main_switch' by const reference. [returnByReference] ibus-libpinyin-1.16.5/src/PYConfig.h:92:17: performance: Function 'letterSwitch()' should return member 'm_letter_switch' by const reference. [returnByReference] ibus-libpinyin-1.16.5/src/PYConfig.h:93:17: performance: Function 'punctSwitch()' should return member 'm_punct_switch' by const reference. [returnByReference] ibus-libpinyin-1.16.5/src/PYConfig.h:94:17: performance: Function 'bothSwitch()' should return member 'm_both_switch' by const reference. [returnByReference] ibus-libpinyin-1.16.5/src/PYConfig.h:95:17: performance: Function 'tradSwitch()' should return member 'm_trad_switch' by const reference. [returnByReference] ibus-libpinyin-1.16.5/src/PYConfig.h:96:17: performance: Function 'openccConfig()' should return member 'm_opencc_config' by const reference. [returnByReference] ibus-libpinyin-1.16.5/src/PYObject.h:44:22: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYObject.h:31:26: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.5/src/PYObject.h:44:16: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.5/src/PYEditor.cc:39:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:62:19: warning: Member variable 'EnhancedCandidate::m_candidate_type' has no initializer. [uninitMemberVarNoCtor] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:63:11: warning: Member variable 'EnhancedCandidate::m_candidate_id' has no initializer. [uninitMemberVarNoCtor] ibus-libpinyin-1.16.5/src/PYString.h:132:11: style:inconclusive: Either there is a missing 'override', or the member function 'PY::String::operator[]' can be const. [functionConst] ibus-libpinyin-1.16.5/src/PYText.h:69:5: warning: The class 'StaticText' defines member function with name 'operatorIBusText*' also defined in its parent class 'Text'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYText.h:52:5: note: Parent function 'Text::operatorIBusText*' ibus-libpinyin-1.16.5/src/PYText.h:69:5: note: Derived function 'StaticText::operatorIBusText*' ibus-libpinyin-1.16.5/src/PYText.h:31:5: style: Class 'Text' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYText.h:33:5: style: Class 'Text' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYText.h:36:5: style: Class 'Text' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYText.h:39:5: style: Class 'Text' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYText.h:60:5: style: Class 'StaticText' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYText.h:63:5: style: Class 'StaticText' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYText.h:66:5: style: Class 'StaticText' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYString.h:32:5: style: Class 'String' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYString.h:33:5: style: Class 'String' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYString.h:35:18: style: Class 'String' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYString.h:36:5: style: Class 'String' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYString.h:144:28: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYEditor.cc:25:36: style:inconclusive: Function 'Editor' argument 1 names different: declaration 'prop' definition 'props'. [funcArgNamesDifferent] ibus-libpinyin-1.16.5/src/PYEditor.h:57:32: note: Function 'Editor' argument 1 names different: declaration 'prop' definition 'props'. ibus-libpinyin-1.16.5/src/PYEditor.cc:25:36: note: Function 'Editor' argument 1 names different: declaration 'prop' definition 'props'. ibus-libpinyin-1.16.5/src/PYEditor.h:80:34: style: Argument 'text' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYEditor.h:70:20: note: Shadowed function ibus-libpinyin-1.16.5/src/PYEditor.h:80:34: note: Shadow argument ibus-libpinyin-1.16.5/src/PYEditor.h:80:46: style: Argument 'cursor' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYEditor.h:75:17: note: Shadowed function ibus-libpinyin-1.16.5/src/PYEditor.h:80:46: note: Shadow argument ibus-libpinyin-1.16.5/src/PYEditor.h:108:29: style: Argument 'text' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYEditor.h:70:20: note: Shadowed function ibus-libpinyin-1.16.5/src/PYEditor.h:108:29: note: Shadow argument ibus-libpinyin-1.16.5/src/PYEditor.h:113:36: style: Argument 'text' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYEditor.h:70:20: note: Shadowed function ibus-libpinyin-1.16.5/src/PYEditor.h:113:36: note: Shadow argument ibus-libpinyin-1.16.5/src/PYEditor.h:113:48: style: Argument 'cursor' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYEditor.h:75:17: note: Shadowed function ibus-libpinyin-1.16.5/src/PYEditor.h:113:48: note: Shadow argument ibus-libpinyin-1.16.5/src/PYEditor.h:128:38: style: Argument 'text' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYEditor.h:70:20: note: Shadowed function ibus-libpinyin-1.16.5/src/PYEditor.h:128:38: note: Shadow argument ibus-libpinyin-1.16.5/src/PYEditor.cc:97:24: style: Local variable 'text' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYEditor.h:70:20: note: Shadowed function ibus-libpinyin-1.16.5/src/PYEditor.cc:97:24: note: Shadow local variable ibus-libpinyin-1.16.5/src/PYEditor.cc:149:20: style: Local variable 'text' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYEditor.h:70:20: note: Shadowed function ibus-libpinyin-1.16.5/src/PYEditor.cc:149:20: note: Shadow local variable ibus-libpinyin-1.16.5/src/PYEngine.h:48:2: error: failed to evaluate #if condition, undefined function-like macro invocation: IBUS_CHECK_VERSION( ... ) [syntaxError] ibus-libpinyin-1.16.5/src/PYEnglishDatabase.cc:45:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PKGDATADIR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYEnglishDatabase.cc:80:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_FILE_TEST_IS_REGULAR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYEnglishDatabase.cc:119:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_FILE_TEST_IS_REGULAR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYEnglishDatabase.cc:56:5: performance: Variable 'm_sql' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] ibus-libpinyin-1.16.5/src/PYEnglishDatabase.cc:59:5: warning: Class 'EnglishDatabase' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] ibus-libpinyin-1.16.5/src/PYEnglishDatabase.cc:59:5: warning: Class 'EnglishDatabase' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] ibus-libpinyin-1.16.5/src/PYEnglishDatabase.cc:176:9: error: Resource leak: m_sqlite [resourceLeak] ibus-libpinyin-1.16.5/src/PYEnglishDatabase.cc:189:5: error: Resource leak: m_sqlite [resourceLeak] ibus-libpinyin-1.16.5/src/PYEnglishDatabase.cc:106:27: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYEnglishDatabase.cc:214:28: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYEnglishDatabase.cc:251:28: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYEnglishEditor.cc:47:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYEnglishEditor.cc:218:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_Return [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYEnglishEditor.cc:237:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_space [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYLookupTable.h:31:5: style: Class 'LookupTable' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:39:14: style: The destructor '~EnglishEditor' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:39:14: note: Destructor in derived class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:41:22: style: The function 'processKeyEvent' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:41:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:42:18: style: The function 'pageUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:61:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:42:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:43:18: style: The function 'pageDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:62:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:43:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:44:18: style: The function 'cursorUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:63:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:44:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:45:18: style: The function 'cursorDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:64:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:45:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:46:18: style: The function 'update' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:65:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:46:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:47:18: style: The function 'updateAll' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:66:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:47:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:48:18: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:48:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:49:18: style: The function 'candidateClicked' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:49:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYEnglishEditor.cc:438:9: style: Checking if unsigned expression 'm_cursor' is less than zero. [unsignedLessThanZero] ibus-libpinyin-1.16.5/src/PYEnglishEditor.cc:456:9: style: Checking if unsigned expression 'm_cursor' is less than zero. [unsignedLessThanZero] ibus-libpinyin-1.16.5/src/PYEnglishEditor.cc:45:68: style:inconclusive: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. [funcArgNamesDifferent] ibus-libpinyin-1.16.5/src/PYEnglishEditor.h:41:74: note: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. ibus-libpinyin-1.16.5/src/PYEnglishEditor.cc:45:68: note: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. ibus-libpinyin-1.16.5/src/PYLookupTable.h:47:29: style: Argument 'size' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYLookupTable.h:40:11: note: Shadowed function ibus-libpinyin-1.16.5/src/PYLookupTable.h:47:29: note: Shadow argument ibus-libpinyin-1.16.5/src/PYLookupTable.h:49:31: style: Argument 'orientation' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYLookupTable.h:38:11: note: Shadowed function ibus-libpinyin-1.16.5/src/PYLookupTable.h:49:31: note: Shadow argument ibus-libpinyin-1.16.5/src/PYExtEditor.cc:168:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:366:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_space [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:394:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_Return [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:660:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LABEL_NONE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPointer.h:30:5: style: Struct 'Pointer < IBusEnginePlugin >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYExtEditor.h:31:22: style: The function 'processKeyEvent' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYExtEditor.h:31:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYExtEditor.h:32:18: style: The function 'pageUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:61:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYExtEditor.h:32:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYExtEditor.h:33:18: style: The function 'pageDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:62:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYExtEditor.h:33:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYExtEditor.h:34:18: style: The function 'cursorUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:63:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYExtEditor.h:34:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYExtEditor.h:35:18: style: The function 'cursorDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:64:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYExtEditor.h:35:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYExtEditor.h:36:18: style: The function 'update' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:65:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYExtEditor.h:36:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYExtEditor.h:37:18: style: The function 'updateAll' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:66:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYExtEditor.h:37:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYExtEditor.h:38:18: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYExtEditor.h:38:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYExtEditor.h:39:18: style: The function 'candidateClicked' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYExtEditor.h:39:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYExtEditor.cc:539:44: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:563:57: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:720:36: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:747:61: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:803:57: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:743:48: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:748:52: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:530:9: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:594:9: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:425:9: style: Checking if unsigned expression 'm_cursor' is less than zero. [unsignedLessThanZero] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:443:9: style: Checking if unsigned expression 'm_cursor' is less than zero. [unsignedLessThanZero] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:710:47: performance: Function parameter 'prefix' should be passed by const reference. [passedByValue] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:735:37: performance: Function parameter 'command_name' should be passed by const reference. [passedByValue] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:539:33: style: Variable 'command' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:720:25: style: Variable 'command' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:92:21: style: Variable 'unit' is assigned a value that is never used. [unreadVariable] ibus-libpinyin-1.16.5/src/PYExtEditor.cc:649:29: style: Variable 'arg' is assigned a value that is never used. [unreadVariable] ibus-libpinyin-1.16.5/src/PYFallbackEditor.cc:219:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYFallbackEditor.h:45:10: style:inconclusive: Technically the member function 'PY::FallbackEditor::commit' can be const. [functionConst] ibus-libpinyin-1.16.5/src/PYFallbackEditor.h:52:10: style:inconclusive: Technically the member function 'PY::FallbackEditor::commit' can be const. [functionConst] ibus-libpinyin-1.16.5/src/PYFallbackEditor.h:58:10: style:inconclusive: Technically the member function 'PY::FallbackEditor::commit' can be const. [functionConst] ibus-libpinyin-1.16.5/src/PYProperty.h:31:5: style: Class 'Property' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYPinyinProperties.h:38:5: style: Class 'PinyinProperties' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYFallbackEditor.h:36:14: style: The function 'processKeyEvent' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYFallbackEditor.h:36:14: note: Function in derived class ibus-libpinyin-1.16.5/src/PYFallbackEditor.h:37:10: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYFallbackEditor.h:37:10: note: Function in derived class ibus-libpinyin-1.16.5/src/PYFallbackEditor.h:66:17: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:69:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBPINYIN_DATADIR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:127:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBPINYIN_DATADIR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:196:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USE_RESPLIT_TABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:210:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USE_TONE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:238:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USER_DICTIONARY [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:283:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USER_DICTIONARY [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:446:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:494:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:541:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NETWORK_DICTIONARY [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:143:40: error: Using pointer that is a temporary. [danglingTemporaryLifetime] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:142:55: note: Pointer to container is created here. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:142:46: note: Temporary created here. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:143:40: note: Using pointer that is a temporary. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:111:19: style: The member function 'PY::LibPinyinBackEnd::freePinyinInstance' can be static. [functionStatic] ibus-libpinyin-1.16.5/src/PYLibPinyin.h:49:10: note: The member function 'PY::LibPinyinBackEnd::freePinyinInstance' can be static. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:111:19: note: The member function 'PY::LibPinyinBackEnd::freePinyinInstance' can be static. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:169:19: style: The member function 'PY::LibPinyinBackEnd::freeChewingInstance' can be static. [functionStatic] ibus-libpinyin-1.16.5/src/PYLibPinyin.h:51:10: note: The member function 'PY::LibPinyinBackEnd::freeChewingInstance' can be static. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:169:19: note: The member function 'PY::LibPinyinBackEnd::freeChewingInstance' can be static. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:384:19: style: The member function 'PY::LibPinyinBackEnd::rememberUserInput' can be static. [functionStatic] ibus-libpinyin-1.16.5/src/PYLibPinyin.h:61:14: note: The member function 'PY::LibPinyinBackEnd::rememberUserInput' can be static. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:384:19: note: The member function 'PY::LibPinyinBackEnd::rememberUserInput' can be static. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:397:19: style: The member function 'PY::LibPinyinBackEnd::rememberCloudInput' can be static. [functionStatic] ibus-libpinyin-1.16.5/src/PYLibPinyin.h:62:14: note: The member function 'PY::LibPinyinBackEnd::rememberCloudInput' can be static. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:397:19: note: The member function 'PY::LibPinyinBackEnd::rememberCloudInput' can be static. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:512:19: style: The member function 'PY::LibPinyinBackEnd::forwardNetworkDictionary' can be static. [functionStatic] ibus-libpinyin-1.16.5/src/PYLibPinyin.h:86:10: note: The member function 'PY::LibPinyinBackEnd::forwardNetworkDictionary' can be static. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:512:19: note: The member function 'PY::LibPinyinBackEnd::forwardNetworkDictionary' can be static. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:534:19: style: The member function 'PY::LibPinyinBackEnd::importRestNetworkDictionary' can be static. [functionStatic] ibus-libpinyin-1.16.5/src/PYLibPinyin.h:88:10: note: The member function 'PY::LibPinyinBackEnd::importRestNetworkDictionary' can be static. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:534:19: note: The member function 'PY::LibPinyinBackEnd::importRestNetworkDictionary' can be static. ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:39:5: warning: Class 'LibPinyinBackEnd' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:39:5: warning: Class 'LibPinyinBackEnd' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] ibus-libpinyin-1.16.5/src/PYPConfig.h:47:10: warning: The class 'LibPinyinConfig' defines member function with name 'initDefaultValues' also defined in its parent class 'Config'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYConfig.h:125:10: note: Parent function 'Config::initDefaultValues' ibus-libpinyin-1.16.5/src/PYPConfig.h:47:10: note: Derived function 'LibPinyinConfig::initDefaultValues' ibus-libpinyin-1.16.5/src/PYPConfig.h:38:5: style: Class 'LibPinyinConfig' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYPConfig.h:39:14: style: The destructor '~LibPinyinConfig' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYConfig.h:51:14: note: Virtual destructor in base class ibus-libpinyin-1.16.5/src/PYPConfig.h:39:14: note: Destructor in derived class ibus-libpinyin-1.16.5/src/PYPConfig.h:42:22: style: The function 'luaConverter' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYConfig.h:105:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPConfig.h:42:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPConfig.h:43:22: style: The function 'networkDictionaryStartTimestamp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYConfig.h:108:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPConfig.h:43:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPConfig.h:44:22: style: The function 'networkDictionaryEndTimestamp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYConfig.h:110:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPConfig.h:44:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPConfig.h:49:18: style: The function 'readDefaultValues' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYConfig.h:132:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPConfig.h:49:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPConfig.h:50:22: style: The function 'valueChanged' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYConfig.h:133:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPConfig.h:50:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPConfig.h:69:18: style: The function 'readDefaultValues' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPConfig.h:49:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPConfig.h:69:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPConfig.h:71:22: style: The function 'valueChanged' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPConfig.h:50:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPConfig.h:71:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPConfig.h:87:18: style: The function 'readDefaultValues' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPConfig.h:49:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPConfig.h:87:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPConfig.h:89:22: style: The function 'valueChanged' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPConfig.h:50:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPConfig.h:89:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:415:26: style: Condition 'self->saveUserDB()' is always true [knownConditionTrueFalse] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:415:26: note: Calling function 'saveUserDB' returns 1 ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:415:26: note: Condition 'self->saveUserDB()' is always true ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:111:58: style: Argument 'instance' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYLibPinyin.h:65:31: note: Shadowed function ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:111:58: note: Shadow argument ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:169:59: style: Argument 'instance' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYLibPinyin.h:65:31: note: Shadowed function ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:169:59: note: Shadow argument ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:384:57: style: Argument 'instance' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYLibPinyin.h:65:31: note: Shadowed function ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:384:57: note: Shadow argument ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:397:58: style: Argument 'instance' shadows outer function [shadowFunction] ibus-libpinyin-1.16.5/src/PYLibPinyin.h:65:31: note: Shadowed function ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:397:58: note: Shadow argument ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:187:45: style: Parameter 'config' can be declared as pointer to const [constParameterPointer] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:202:46: style: Parameter 'config' can be declared as pointer to const [constParameterPointer] ibus-libpinyin-1.16.5/src/PYLibPinyin.cc:441:20: style: Variable 'current' is assigned a value that is never used. [unreadVariable] ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.h:33:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPTradCandidates.h:36:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.cc:98:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_space [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.cc:122:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_KP_1 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.cc:150:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD1_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.cc:184:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_space [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.cc:196:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.cc:375:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NBEST_MATCH_CANDIDATE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.cc:331:13: warning: Assert statement calls a function which may have desired side effects: 'g_strv_length'. [assertWithSideEffect] ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.cc:385:13: warning: Assert statement calls a function which may have desired side effects: 'g_strv_length'. [assertWithSideEffect] ibus-libpinyin-1.16.5/src/PYPTradCandidates.h:40:14: warning: The class 'TraditionalCandidates' defines member function with name 'processCandidates' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.5/src/PYPTradCandidates.h:40:14: note: Derived function 'TraditionalCandidates::processCandidates' ibus-libpinyin-1.16.5/src/PYPTradCandidates.h:42:9: warning: The class 'TraditionalCandidates' defines member function with name 'selectCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.5/src/PYPTradCandidates.h:42:9: note: Derived function 'TraditionalCandidates::selectCandidate' ibus-libpinyin-1.16.5/src/PYPTradCandidates.h:43:14: warning: The class 'TraditionalCandidates' defines member function with name 'removeCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.5/src/PYPTradCandidates.h:43:14: note: Derived function 'TraditionalCandidates::removeCandidate' ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.h:35:14: warning: The class 'EmojiCandidates' defines member function with name 'processCandidates' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.h:35:14: note: Derived function 'EmojiCandidates::processCandidates' ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.h:37:9: warning: The class 'EmojiCandidates' defines member function with name 'selectCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.h:37:9: note: Derived function 'EmojiCandidates::selectCandidate' ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.h:38:14: warning: The class 'EmojiCandidates' defines member function with name 'removeCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.h:38:14: note: Derived function 'EmojiCandidates::removeCandidate' ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.h:37:14: warning: The class 'LibPinyinCandidates' defines member function with name 'processCandidates' also defined in its parent class 'EnhancedCandidates < PhoneticEditor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < PhoneticEditor >::processCandidates' ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.h:37:14: note: Derived function 'LibPinyinCandidates::processCandidates' ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.h:39:9: warning: The class 'LibPinyinCandidates' defines member function with name 'selectCandidate' also defined in its parent class 'EnhancedCandidates < PhoneticEditor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < PhoneticEditor >::selectCandidate' ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.h:39:9: note: Derived function 'LibPinyinCandidates::selectCandidate' ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.h:40:14: warning: The class 'LibPinyinCandidates' defines member function with name 'removeCandidate' also defined in its parent class 'EnhancedCandidates < PhoneticEditor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < PhoneticEditor >::removeCandidate' ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.h:40:14: note: Derived function 'LibPinyinCandidates::removeCandidate' ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.h:32:5: style: Class 'LibPinyinCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYSimpTradConverter.h:32:5: style: Class 'SimpTradConverter' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.h:32:5: style: Class 'EmojiCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:58:14: style: The destructor '~PhoneticEditor' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:58:14: note: Destructor in derived class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:62:18: style: The function 'pageUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:61:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:62:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:63:18: style: The function 'pageDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:62:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:63:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:64:18: style: The function 'cursorUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:63:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:64:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:65:18: style: The function 'cursorDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:64:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:65:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:66:18: style: The function 'update' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:65:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:66:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:67:18: style: The function 'updateAll' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:66:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:67:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:68:18: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:68:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:69:18: style: The function 'candidateClicked' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:69:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:70:22: style: The function 'processKeyEvent' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:70:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:84:17: style: The function 'selectCandidateInternal' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:164:17: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:84:17: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:85:22: style: The function 'removeCandidateInternal' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:165:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:85:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:35:14: style: The destructor '~BopomofoEditor' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:35:14: note: Destructor in derived class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:46:14: style: The function 'processKeyEvent' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:70:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:46:14: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:49:18: style: The function 'updateLookupTable' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:73:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:49:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:51:18: style: The function 'updatePreeditText' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:110:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:51:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:52:18: style: The function 'updateAuxiliaryText' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:109:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:52:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:53:18: style: The function 'updatePinyin' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:111:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:53:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:54:18: style: The function 'commit' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:77:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:54:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:57:10: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:57:10: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:59:14: style: The function 'insert' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:98:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPBopomofoEditor.h:59:14: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:325:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:403:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_display_string [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:484:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_display_string [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:580:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOUP_MESSAGE_PRIORITY_NORMAL [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:671:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_lookup_table [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:704:76: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_cursor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:562:20: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:626:20: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:671:34: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:704:44: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:369:37: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:335:5: warning: Class 'CloudCandidates' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:335:5: warning: Class 'CloudCandidates' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:92:29: warning: Class 'CloudCandidatesResponseJsonParser' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:92:29: warning: Class 'CloudCandidatesResponseJsonParser' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:391:18: warning: The class 'CloudCandidates' defines member function with name 'processCandidates' also defined in its parent class 'EnhancedCandidates < PhoneticEditor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < PhoneticEditor >::processCandidates' ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:391:18: note: Derived function 'CloudCandidates::processCandidates' ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:473:18: warning: The class 'CloudCandidates' defines member function with name 'selectCandidate' also defined in its parent class 'EnhancedCandidates < PhoneticEditor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < PhoneticEditor >::selectCandidate' ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:473:18: note: Derived function 'CloudCandidates::selectCandidate' ibus-libpinyin-1.16.5/src/PYPCloudCandidates.h:58:5: style: Class 'CloudCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:217:5: style: Class 'GoogleCloudCandidatesResponseJsonParser' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:319:5: style: Class 'BaiduCloudCandidatesResponseJsonParser' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:40:14: style: The function 'processFunctionKey' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:72:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:40:14: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:42:18: style: The function 'updateAuxiliaryText' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:109:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:42:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:43:18: style: The function 'updateLookupTable' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:73:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:43:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:44:18: style: The function 'updatePreeditText' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:110:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:44:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:46:22: style: The function 'processKeyEvent' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:70:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:46:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:48:18: style: The function 'updatePinyin' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:111:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:48:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:49:18: style: The function 'commit' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:77:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:49:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:89:14: style: The destructor '~CloudCandidatesResponseJsonParser' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:67:14: note: Virtual destructor in base class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:89:14: note: Destructor in derived class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:97:11: style: The function 'parse' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:71:19: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:97:11: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:123:11: style: The function 'parseJsonResponse' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:117:19: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:123:11: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:202:12: style: The function 'getRequestString' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:69:20: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:202:12: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:223:11: style: The function 'parseJsonResponse' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:117:19: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:223:11: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:310:12: style: The function 'getRequestString' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:69:20: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:310:12: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:589:50: style:inconclusive: Function 'cloudResponseCallBack' argument 1 names different: declaration 'object' definition 'source_object'. [funcArgNamesDifferent] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.h:81:49: note: Function 'cloudResponseCallBack' argument 1 names different: declaration 'object' definition 'source_object'. ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:589:50: note: Function 'cloudResponseCallBack' argument 1 names different: declaration 'object' definition 'source_object'. ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:641:121: style:inconclusive: Function 'processCloudResponse' argument 3 names different: declaration 'pinyin' definition 'requested_pinyin'. [funcArgNamesDifferent] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.h:83:116: note: Function 'processCloudResponse' argument 3 names different: declaration 'pinyin' definition 'requested_pinyin'. ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:641:121: note: Function 'processCloudResponse' argument 3 names different: declaration 'pinyin' definition 'requested_pinyin'. ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:446:27: style: Local variable 'display_string' shadows outer variable [shadowVariable] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:403:20: note: Shadowed variable ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:446:27: note: Shadow local variable ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:448:45: style: Local variable 'iter' shadows outer variable [shadowVariable] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:397:51: note: Shadowed variable ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:448:45: note: Shadow local variable ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:641:95: style: Parameter 'candidates' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:652:36: style: Variable 'string_candidates' can be declared as reference to const [constVariableReference] ibus-libpinyin-1.16.5/src/PYPCloudCandidates.cc:501:32: style: Variable 'data' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.5/src/PYPConfig.cc:145:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PINYIN_INCOMPLETE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPConfig.cc:291:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_ORIENTATION_HORIZONTAL [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPConfig.cc:391:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_ORIENTATION_HORIZONTAL [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPConfig.cc:577:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DOUBLE_PINYIN_DEFAULT [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPConfig.cc:646:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DOUBLE_PINYIN_DEFAULT [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPConfig.cc:787:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ZHUYIN_DEFAULT [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPConfig.cc:827:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ZHUYIN_DEFAULT [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPConfig.cc:543:10: warning: Member variable 'Anonymous5::double_pinyin_keyboard' has no initializer. [uninitMemberVarNoCtor] ibus-libpinyin-1.16.5/src/PYPConfig.cc:752:10: warning: Member variable 'Anonymous6::bopomofo_keyboard' has no initializer. [uninitMemberVarNoCtor] ibus-libpinyin-1.16.5/src/PYPConfig.cc:142:18: warning: The class 'LibPinyinConfig' defines member function with name 'initDefaultValues' also defined in its parent class 'Config'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYConfig.h:125:10: note: Parent function 'Config::initDefaultValues' ibus-libpinyin-1.16.5/src/PYPConfig.cc:142:18: note: Derived function 'LibPinyinConfig::initDefaultValues' ibus-libpinyin-1.16.5/src/PYPConfig.cc:96:27: style: Operator '|' with one operand equal to zero is redundant. [badBitmaskCheck] ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.cc:63:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_z [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.cc:93:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:31:6: style: The destructor '~DoublePinyinEditor' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:31:6: note: Destructor in derived class ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:33:14: style: The function 'insert' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:98:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:33:14: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:36:14: style: The function 'processKeyEvent' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:46:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:36:14: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:37:10: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:37:10: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:41:18: style: The function 'updateAuxiliaryText' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:42:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:41:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:42:18: style: The function 'updatePinyin' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:48:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:42:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:37:10: style: The function 'reset' overrides a function in a base class but just delegates back to the base class. [uselessOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPDoublePinyinEditor.h:37:10: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:34:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:83:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_text [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:32:18: warning: Member variable 'EmojiCandidates::m_candidate' is not initialized in the constructor. [uninitMemberVar] ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:83:23: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:89:14: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:108:18: style: The member function 'PY::EmojiCandidates::selectCandidate' can be static. [functionStatic] ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.h:37:9: note: The member function 'PY::EmojiCandidates::selectCandidate' can be static. ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:108:18: note: The member function 'PY::EmojiCandidates::selectCandidate' can be static. ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:117:18: style: The member function 'PY::EmojiCandidates::removeCandidate' can be static. [functionStatic] ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.h:38:14: note: The member function 'PY::EmojiCandidates::removeCandidate' can be static. ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:117:18: note: The member function 'PY::EmojiCandidates::removeCandidate' can be static. ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:66:18: warning: The class 'EmojiCandidates' defines member function with name 'processCandidates' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:66:18: note: Derived function 'EmojiCandidates::processCandidates' ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:108:18: warning: The class 'EmojiCandidates' defines member function with name 'selectCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:108:18: note: Derived function 'EmojiCandidates::selectCandidate' ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:117:18: warning: The class 'EmojiCandidates' defines member function with name 'removeCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:117:18: note: Derived function 'EmojiCandidates::removeCandidate' ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:108:55: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:117:55: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:76:13: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:33:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:46:9: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:44:20: warning: The class 'EnglishCandidates' defines member function with name 'processCandidates' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:44:20: note: Derived function 'EnglishCandidates::processCandidates' ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:87:20: warning: The class 'EnglishCandidates' defines member function with name 'selectCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:87:20: note: Derived function 'EnglishCandidates::selectCandidate' ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:98:20: warning: The class 'EnglishCandidates' defines member function with name 'removeCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:98:20: note: Derived function 'EnglishCandidates::removeCandidate' ibus-libpinyin-1.16.5/src/PYPointer.h:30:5: style: Struct 'Pointer' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.h:35:5: style: Class 'EnglishCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:63:9: style: The scope of the variable 'count' can be reduced. [variableScope] ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:87:57: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:98:57: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:56:13: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.cc:74:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:31:6: style: The destructor '~FullPinyinEditor' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:31:6: note: Destructor in derived class ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:34:14: style: The function 'insert' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:98:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:34:14: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:37:22: style: The function 'processKeyEvent' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:46:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:37:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:38:18: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:38:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:39:18: style: The function 'updateAuxiliaryText' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:42:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:39:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:43:18: style: The function 'updatePinyin' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYPPinyinEditor.h:48:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:43:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:38:18: style: The function 'reset' overrides a function in a base class but just delegates back to the base class. [uselessOverride] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPFullPinyinEditor.h:38:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:34:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_instance [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:89:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_instance [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:183:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_instance [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:34:35: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:32:22: style:inconclusive: Technically the member function 'PY::LibPinyinCandidates::processCandidates' can be const. [functionConst] ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.h:37:14: note: Technically the member function 'PY::LibPinyinCandidates::processCandidates' can be const. ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:32:22: note: Technically the member function 'PY::LibPinyinCandidates::processCandidates' can be const. ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:89:36: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:102:27: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:183:36: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:181:22: style:inconclusive: Technically the member function 'PY::LibPinyinCandidates::removeCandidate' can be const. [functionConst] ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.h:40:14: note: Technically the member function 'PY::LibPinyinCandidates::removeCandidate' can be const. ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:181:22: note: Technically the member function 'PY::LibPinyinCandidates::removeCandidate' can be const. ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:32:22: warning: The class 'LibPinyinCandidates' defines member function with name 'processCandidates' also defined in its parent class 'EnhancedCandidates < PhoneticEditor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < PhoneticEditor >::processCandidates' ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:32:22: note: Derived function 'LibPinyinCandidates::processCandidates' ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:87:22: warning: The class 'LibPinyinCandidates' defines member function with name 'selectCandidate' also defined in its parent class 'EnhancedCandidates < PhoneticEditor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < PhoneticEditor >::selectCandidate' ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:87:22: note: Derived function 'LibPinyinCandidates::selectCandidate' ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:181:22: warning: The class 'LibPinyinCandidates' defines member function with name 'removeCandidate' also defined in its parent class 'EnhancedCandidates < PhoneticEditor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < PhoneticEditor >::removeCandidate' ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:181:22: note: Derived function 'LibPinyinCandidates::removeCandidate' ibus-libpinyin-1.16.5/src/PYPLibPinyinCandidates.cc:181:59: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.5/src/PYPLuaConverterCandidates.cc:31:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPLuaConverterCandidates.cc:118:12: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPLuaConverterCandidates.cc:48:25: warning: The class 'LuaConverterCandidates' defines member function with name 'processCandidates' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.5/src/PYPLuaConverterCandidates.cc:48:25: note: Derived function 'LuaConverterCandidates::processCandidates' ibus-libpinyin-1.16.5/src/PYPLuaConverterCandidates.cc:82:25: warning: The class 'LuaConverterCandidates' defines member function with name 'selectCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.5/src/PYPLuaConverterCandidates.cc:82:25: note: Derived function 'LuaConverterCandidates::selectCandidate' ibus-libpinyin-1.16.5/src/PYPLuaConverterCandidates.cc:110:25: warning: The class 'LuaConverterCandidates' defines member function with name 'removeCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.5/src/PYPLuaConverterCandidates.cc:110:25: note: Derived function 'LuaConverterCandidates::removeCandidate' ibus-libpinyin-1.16.5/src/PYPLuaConverterCandidates.h:36:5: style: Class 'LuaConverterCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYPLuaConverterCandidates.cc:110:62: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.cc:33:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.cc:60:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_text [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.cc:44:23: warning: The class 'LuaTriggerCandidates' defines member function with name 'processCandidates' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.cc:44:23: note: Derived function 'LuaTriggerCandidates::processCandidates' ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.cc:115:23: warning: The class 'LuaTriggerCandidates' defines member function with name 'selectCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.cc:115:23: note: Derived function 'LuaTriggerCandidates::selectCandidate' ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.cc:124:23: warning: The class 'LuaTriggerCandidates' defines member function with name 'removeCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.cc:124:23: note: Derived function 'LuaTriggerCandidates::removeCandidate' ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.h:35:5: style: Class 'LuaTriggerCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.cc:115:60: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.cc:124:60: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.cc:55:13: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.cc:93:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_CONTROL_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.cc:205:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.cc:281:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_ATTR_TYPE_FOREGROUND [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.cc:352:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SORT_WITHOUT_SENTENCE_CANDIDATE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.cc:29:17: warning: Member variable 'PhoneticEditor::m_instance' is not initialized in the constructor. [uninitMemberVar] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.cc:517:40: style:inconclusive: Function 'selectCandidate' argument 1 names different: declaration 'i' definition 'index'. [funcArgNamesDifferent] ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.h:86:37: note: Function 'selectCandidate' argument 1 names different: declaration 'i' definition 'index'. ibus-libpinyin-1.16.5/src/PYPPhoneticEditor.cc:517:40: note: Function 'selectCandidate' argument 1 names different: declaration 'i' definition 'index'. ibus-libpinyin-1.16.5/src/PYPPinyinEditor.cc:70:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_1 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPPinyinEditor.cc:159:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_CONTROL_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPPinyinEditor.cc:187:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPPinyinEditor.cc:263:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SORT_WITHOUT_SENTENCE_CANDIDATE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.h:33:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.cc:31:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_instance [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.cc:74:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_instance [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.cc:31:35: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.cc:29:23: style:inconclusive: Technically the member function 'PY::SuggestionCandidates::processCandidates' can be const. [functionConst] ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.h:37:14: note: Technically the member function 'PY::SuggestionCandidates::processCandidates' can be const. ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.cc:29:23: note: Technically the member function 'PY::SuggestionCandidates::processCandidates' can be const. ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.cc:74:36: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.cc:72:23: style:inconclusive: Technically the member function 'PY::SuggestionCandidates::selectCandidate' can be const. [functionConst] ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.h:39:9: note: Technically the member function 'PY::SuggestionCandidates::selectCandidate' can be const. ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.cc:72:23: note: Technically the member function 'PY::SuggestionCandidates::selectCandidate' can be const. ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.cc:29:23: warning: The class 'SuggestionCandidates' defines member function with name 'processCandidates' also defined in its parent class 'EnhancedCandidates < SuggestionEditor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < SuggestionEditor >::processCandidates' ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.cc:29:23: note: Derived function 'SuggestionCandidates::processCandidates' ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.cc:72:23: warning: The class 'SuggestionCandidates' defines member function with name 'selectCandidate' also defined in its parent class 'EnhancedCandidates < SuggestionEditor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < SuggestionEditor >::selectCandidate' ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.cc:72:23: note: Derived function 'SuggestionCandidates::selectCandidate' ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.h:32:5: style: Class 'SuggestionCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:43:14: style: The destructor '~SuggestionEditor' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:43:14: note: Destructor in derived class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:45:22: style: The function 'processKeyEvent' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:45:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:46:18: style: The function 'pageUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:61:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:46:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:47:18: style: The function 'pageDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:62:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:47:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:48:18: style: The function 'cursorUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:63:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:48:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:49:18: style: The function 'cursorDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:64:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:49:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:50:18: style: The function 'update' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:65:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:50:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:51:18: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:51:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:52:18: style: The function 'candidateClicked' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:52:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:59:17: style: The function 'selectCandidateInternal' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:164:17: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:59:17: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.cc:65:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.cc:185:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_space [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.h:37:14: warning: The class 'SuggestionCandidates' defines member function with name 'processCandidates' also defined in its parent class 'EnhancedCandidates < SuggestionEditor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < SuggestionEditor >::processCandidates' ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.h:37:14: note: Derived function 'SuggestionCandidates::processCandidates' ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.h:39:9: warning: The class 'SuggestionCandidates' defines member function with name 'selectCandidate' also defined in its parent class 'EnhancedCandidates < SuggestionEditor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < SuggestionEditor >::selectCandidate' ibus-libpinyin-1.16.5/src/PYPSuggestionCandidates.h:39:9: note: Derived function 'SuggestionCandidates::selectCandidate' ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.cc:63:71: style:inconclusive: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. [funcArgNamesDifferent] ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.h:45:74: note: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.cc:63:71: note: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. ibus-libpinyin-1.16.5/src/PYPSuggestionEditor.cc:343:29: style: Variable 'candidate' can be declared as reference to const [constVariableReference] ibus-libpinyin-1.16.5/src/PYPTradCandidates.cc:59:18: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPTradCandidates.cc:80:12: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.5/src/PYPTradCandidates.cc:29:24: warning: The class 'TraditionalCandidates' defines member function with name 'processCandidates' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.5/src/PYPTradCandidates.cc:29:24: note: Derived function 'TraditionalCandidates::processCandidates' ibus-libpinyin-1.16.5/src/PYPTradCandidates.cc:51:24: warning: The class 'TraditionalCandidates' defines member function with name 'selectCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.5/src/PYPTradCandidates.cc:51:24: note: Derived function 'TraditionalCandidates::selectCandidate' ibus-libpinyin-1.16.5/src/PYPTradCandidates.cc:72:24: warning: The class 'TraditionalCandidates' defines member function with name 'removeCandidate' also defined in its parent class 'EnhancedCandidates < Editor >'. [duplInheritedMember] ibus-libpinyin-1.16.5/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.5/src/PYPTradCandidates.cc:72:24: note: Derived function 'TraditionalCandidates::removeCandidate' ibus-libpinyin-1.16.5/src/PYPTradCandidates.cc:72:61: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.5/src/PYPinyinProperties.cc:130:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GETTEXT_PACKAGE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPinyinProperties.cc:158:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GETTEXT_PACKAGE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPinyinProperties.cc:174:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GETTEXT_PACKAGE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPinyinProperties.cc:190:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GETTEXT_PACKAGE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPinyinProperties.cc:139:60: style: Same expression in both branches of ternary operator. [duplicateExpressionTernary] ibus-libpinyin-1.16.5/src/PYPinyinProperties.cc:161:54: style: Same expression in both branches of ternary operator. [duplicateExpressionTernary] ibus-libpinyin-1.16.5/src/PYPinyinProperties.cc:177:67: style: Same expression in both branches of ternary operator. [duplicateExpressionTernary] ibus-libpinyin-1.16.5/src/PYPinyinProperties.cc:193:65: style: Same expression in both branches of ternary operator. [duplicateExpressionTernary] ibus-libpinyin-1.16.5/src/PYPunctEditor.cc:42:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_grave [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPunctEditor.cc:94:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MODE_DISABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPunctEditor.cc:148:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPunctEditor.cc:405:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MODE_DISABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYPunctEditor.h:35:22: style: The function 'processKeyEvent' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:35:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:36:18: style: The function 'pageUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:61:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:36:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:37:18: style: The function 'pageDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:62:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:37:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:38:18: style: The function 'cursorUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:63:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:38:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:39:18: style: The function 'cursorDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:64:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:39:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:40:18: style: The function 'update' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:65:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:40:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:41:18: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:41:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:42:18: style: The function 'candidateClicked' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYPunctEditor.h:42:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYPunctEditor.cc:523:25: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYPunctEditor.cc:535:11: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYPunctEditor.cc:531:20: style: The scope of the variable 'res' can be reduced. [variableScope] ibus-libpinyin-1.16.5/src/PYPunctEditor.cc:431:42: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] ibus-libpinyin-1.16.5/src/PYPunctEditor.cc:501:43: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] ibus-libpinyin-1.16.5/src/PYPunctEditor.cc:607:50: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] ibus-libpinyin-1.16.5/src/PYSimpTradConverter.cc:107:20: style: The member function 'PY::SimpTradConverter::simpToTrad' can be static. [functionStatic] ibus-libpinyin-1.16.5/src/PYSimpTradConverter.h:33:10: note: The member function 'PY::SimpTradConverter::simpToTrad' can be static. ibus-libpinyin-1.16.5/src/PYSimpTradConverter.cc:107:20: note: The member function 'PY::SimpTradConverter::simpToTrad' can be static. ibus-libpinyin-1.16.5/src/PYSimpTradConverter.cc:98:24: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYSimpTradConverter.cc:99:24: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYSimpTradConverter.cc:130:22: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:40:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PKGDATADIR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:79:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_FILE_TEST_IS_REGULAR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:118:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_FILE_TEST_IS_REGULAR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:66:5: performance: Variable 'm_sql' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:71:24: warning: Class 'TableDatabase' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:71:24: warning: Class 'TableDatabase' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:174:9: error: Resource leak: m_sqlite [resourceLeak] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:178:5: error: Resource leak: m_sqlite [resourceLeak] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:105:27: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:206:30: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:360:31: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:367:30: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:56:12: style: Variable 'result' is reassigned a value before the old one has been used. [redundantAssignment] ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:54:16: note: result is assigned ibus-libpinyin-1.16.5/src/PYTableDatabase.cc:56:12: note: result is overwritten ibus-libpinyin-1.16.5/src/PYTableEditor.cc:50:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYTableEditor.cc:207:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_Return [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYTableEditor.cc:222:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_space [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYTableEditor.h:36:14: style: The destructor '~TableEditor' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.5/src/PYTableEditor.h:36:14: note: Destructor in derived class ibus-libpinyin-1.16.5/src/PYTableEditor.h:38:22: style: The function 'processKeyEvent' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYTableEditor.h:38:22: note: Function in derived class ibus-libpinyin-1.16.5/src/PYTableEditor.h:39:18: style: The function 'pageUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:61:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYTableEditor.h:39:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYTableEditor.h:40:18: style: The function 'pageDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:62:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYTableEditor.h:40:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYTableEditor.h:41:18: style: The function 'cursorUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:63:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYTableEditor.h:41:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYTableEditor.h:42:18: style: The function 'cursorDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:64:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYTableEditor.h:42:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYTableEditor.h:43:18: style: The function 'update' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:65:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYTableEditor.h:43:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYTableEditor.h:44:18: style: The function 'updateAll' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:66:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYTableEditor.h:44:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYTableEditor.h:45:18: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYTableEditor.h:45:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYTableEditor.h:46:18: style: The function 'candidateClicked' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.5/src/PYEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.5/src/PYTableEditor.h:46:18: note: Function in derived class ibus-libpinyin-1.16.5/src/PYTableEditor.cc:442:9: style: Checking if unsigned expression 'm_cursor' is less than zero. [unsignedLessThanZero] ibus-libpinyin-1.16.5/src/PYTableEditor.cc:460:9: style: Checking if unsigned expression 'm_cursor' is less than zero. [unsignedLessThanZero] ibus-libpinyin-1.16.5/src/PYTableEditor.cc:48:66: style:inconclusive: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. [funcArgNamesDifferent] ibus-libpinyin-1.16.5/src/PYTableEditor.h:38:74: note: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. ibus-libpinyin-1.16.5/src/PYTableEditor.cc:48:66: note: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:164:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_MARKUP_DEFAULT_FLAGS [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:85:31: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:96:31: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:108:31: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:165:13: style: Variable 'success' is reassigned a value before the old one has been used. [redundantAssignment] ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:162:13: note: success is assigned ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:165:13: note: success is overwritten ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:114:50: style: Parameter 'context' can be declared as pointer to const. However it seems that 'engine_parser_passthrough' is a callback function, if 'context' is declared with const you might also need to cast function pointer(s). [constParameterCallback] ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:68:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:114:50: note: Parameter 'context' can be declared as pointer to const ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:117:50: style: Parameter 'user_data' can be declared as pointer to const. However it seems that 'engine_parser_passthrough' is a callback function, if 'user_data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:68:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:117:50: note: Parameter 'user_data' can be declared as pointer to const ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:123:43: style: Parameter 'context' can be declared as pointer to const. However it seems that 'engine_parser_error' is a callback function, if 'context' is declared with const you might also need to cast function pointer(s). [constParameterCallback] ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:69:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:123:43: note: Parameter 'context' can be declared as pointer to const ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:124:43: style: Parameter 'error' can be declared as pointer to const. However it seems that 'engine_parser_error' is a callback function, if 'error' is declared with const you might also need to cast function pointer(s). [constParameterCallback] ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:69:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:124:43: note: Parameter 'error' can be declared as pointer to const ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:125:43: style: Parameter 'user_data' can be declared as pointer to const. However it seems that 'engine_parser_error' is a callback function, if 'user_data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:69:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:125:43: note: Parameter 'user_data' can be declared as pointer to const ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:31:14: style: struct member 'EngineXMLVersion::in_version_tag' is never used. [unusedStructMember] ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:33:13: style: struct member 'EngineXMLVersion::first_version' is never used. [unusedStructMember] ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:141:13: style: Variable 'success' is assigned a value that is never used. [unreadVariable] ibus-libpinyin-1.16.5/src/PYXMLUtil.cc:165:13: style: Variable 'success' is assigned a value that is never used. [unreadVariable] diff: 2.21.0 ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:76:0: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] head ibus-libpinyin-1.16.5/src/PYPEmojiCandidates.cc:76:13: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] 2.21.0 ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:56:0: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] head ibus-libpinyin-1.16.5/src/PYPEnglishCandidates.cc:56:13: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] 2.21.0 ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.cc:55:0: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] head ibus-libpinyin-1.16.5/src/PYPLuaTriggerCandidates.cc:55:13: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] DONE