2025-07-14 04:47 ftp://ftp.de.debian.org/debian/pool/main/i/ibus-libpinyin/ibus-libpinyin_1.16.1.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-63-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.67 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0 cppcheck: head 2.17.0 head-info: 843f95e (2025-07-12 14:37:40 +0200) count: 549 539 elapsed-time: 12.0 8.1 head-timing-info: old-timing-info: head results: ibus-libpinyin-1.16.1/lua/lmyoslib.c:70:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable luaL_checknumber [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lmyoslib.c:120:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TTABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lmyoslib.c:163:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_OSLIBNAME [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/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.1/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.1/lua/lmyoslib.c:71:14: style: Variable 'stm' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.1/lua/lua-ext-console.c:95:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-ext-console.c:140:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-ext-console.c:143:12: style: Local variable 'len' shadows outer variable [shadowVariable] ibus-libpinyin-1.16.1/lua/lua-ext-console.c:121:10: note: Shadowed declaration ibus-libpinyin-1.16.1/lua/lua-ext-console.c:143:12: note: Shadow variable ibus-libpinyin-1.16.1/lua/lua-ext-console.c:49:21: style: Variable 'command' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.1/lua/lua-ext-console.c:60:23: style: Variable 'converter' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:75:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TLIGHTUSERDATA [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:84:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:118:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TTABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:218:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TFUNCTION [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:248:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TFUNCTION [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:301:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TFUNCTION [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:412:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gunichar2 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:428:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gunichar2 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:428: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.1/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.1/lua/lua-plugin.c:199:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin.c:376:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TFUNCTION [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin.c:405:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TTABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin.c:432:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TNUMBER [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin.c:449:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TNUMBER [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin.c:485:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TNUMBER [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/lua/lua-plugin.c:510:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUA_TTABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/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.1/lua/lua-plugin.c:399:47: note: Assuming allocation function fails ibus-libpinyin-1.16.1/lua/lua-plugin.c:399:47: note: Assignment 'candidate=malloc(sizeof(struct lua_command_candidate_t))', assigned value is 0 ibus-libpinyin-1.16.1/lua/lua-plugin.c:401:10: note: Null pointer dereference ibus-libpinyin-1.16.1/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.1/lua/lua-plugin.c:486:20: note: Assuming allocation function fails ibus-libpinyin-1.16.1/lua/lua-plugin.c:486:20: note: Assignment 'result=malloc(sizeof(struct lua_command_candidate_t))', assigned value is 0 ibus-libpinyin-1.16.1/lua/lua-plugin.c:487:12: note: Null pointer dereference ibus-libpinyin-1.16.1/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.1/lua/lua-plugin.c:486:20: note: Assuming allocation function fails ibus-libpinyin-1.16.1/lua/lua-plugin.c:486:20: note: Assignment 'result=malloc(sizeof(struct lua_command_candidate_t))', assigned value is 0 ibus-libpinyin-1.16.1/lua/lua-plugin.c:488:5: note: Null pointer dereference ibus-libpinyin-1.16.1/lua/lua-plugin.c:458:9: style: Local variable 'type' shadows outer variable [shadowVariable] ibus-libpinyin-1.16.1/lua/lua-plugin.c:445:35: note: Shadowed declaration ibus-libpinyin-1.16.1/lua/lua-plugin.c:458:9: note: Shadow variable ibus-libpinyin-1.16.1/lua/lua-plugin.c:222:19: style: Variable 'ca' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.1/lua/lua-plugin.c:223:19: style: Variable 'cb' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.1/lua/lua-plugin.c:246:12: style: Variable 'lua_commands' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.1/lua/lua-plugin.c:254:29: style: Variable 'priv' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.1/lua/lua-plugin.c:271:29: style: Variable 'priv' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.1/lua/lua-plugin.c:326:29: style: Variable 'priv' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.1/lua/lua-plugin.c:346:23: style: Variable 'converter' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.1/lua/lua-plugin.c:359:29: style: Variable 'priv' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.1/lua/test-lua-plugin.c:33:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LUASCRIPTDIR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYConfig.h:210:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_BOOLEAN [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYConfig.h:221:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_INT32 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYConfig.h:232:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_STRING [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYConfig.h:243:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_INT64 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYConfig.cc:42:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_ORIENTATION_HORIZONTAL [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYConfig.cc:107:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_BOOLEAN [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYConfig.cc:121:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_INT32 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYConfig.cc:135:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_STRING [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYConfig.cc:149:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_INT64 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYConfig.cc:28:9: warning: Member variable 'Config::m_select_keys' is not initialized in the constructor. [uninitMemberVar] ibus-libpinyin-1.16.1/src/PYConfig.cc:28:9: warning: Member variable 'Config::m_guide_key' is not initialized in the constructor. [uninitMemberVar] ibus-libpinyin-1.16.1/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.1/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.1/src/PYPointer.h:61:17: warning: Member variable 'Pointer < GObject >::m_p' is not assigned a value in 'Pointer < GObject >::operator='. [operatorEqVarError] ibus-libpinyin-1.16.1/src/PYConfig.cc:190:9: style: Unused private function: 'Config::valueChangedCallback' [unusedPrivateFunction] ibus-libpinyin-1.16.1/src/PYConfig.h:137:17: note: Unused private function: 'Config::valueChangedCallback' ibus-libpinyin-1.16.1/src/PYConfig.cc:190:9: note: Unused private function: 'Config::valueChangedCallback' ibus-libpinyin-1.16.1/src/PYObject.h:31:5: style: Class 'Object' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYConfig.h:50:5: style: Class 'Config' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPointer.h:30:5: style: Struct 'Pointer < GObject >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYConfig.h:54:17: performance: Function 'dictionaries()' should return member 'm_dictionaries' by const reference. [returnByReference] ibus-libpinyin-1.16.1/src/PYConfig.h:55:17: performance: Function 'luaConverter()' should return member 'm_lua_converter' by const reference. [returnByReference] ibus-libpinyin-1.16.1/src/PYConfig.h:91:17: performance: Function 'mainSwitch()' should return member 'm_main_switch' by const reference. [returnByReference] ibus-libpinyin-1.16.1/src/PYConfig.h:92:17: performance: Function 'letterSwitch()' should return member 'm_letter_switch' by const reference. [returnByReference] ibus-libpinyin-1.16.1/src/PYConfig.h:93:17: performance: Function 'punctSwitch()' should return member 'm_punct_switch' by const reference. [returnByReference] ibus-libpinyin-1.16.1/src/PYConfig.h:94:17: performance: Function 'bothSwitch()' should return member 'm_both_switch' by const reference. [returnByReference] ibus-libpinyin-1.16.1/src/PYConfig.h:95:17: performance: Function 'tradSwitch()' should return member 'm_trad_switch' by const reference. [returnByReference] ibus-libpinyin-1.16.1/src/PYConfig.h:96:17: performance: Function 'openccConfig()' should return member 'm_opencc_config' by const reference. [returnByReference] ibus-libpinyin-1.16.1/src/PYObject.h:44:22: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/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.1/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.1/src/PYEditor.cc:39:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/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.1/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.1/src/PYText.h:52:5: note: Parent function 'Text::operatorIBusText*' ibus-libpinyin-1.16.1/src/PYText.h:69:5: note: Derived function 'StaticText::operatorIBusText*' ibus-libpinyin-1.16.1/src/PYText.h:31:5: style: Class 'Text' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYText.h:33:5: style: Class 'Text' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYText.h:36:5: style: Class 'Text' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYText.h:39:5: style: Class 'Text' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYText.h:60:5: style: Class 'StaticText' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYText.h:63:5: style: Class 'StaticText' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYText.h:66:5: style: Class 'StaticText' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYString.h:32:5: style: Class 'String' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYString.h:33:5: style: Class 'String' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYString.h:35:18: style: Class 'String' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYString.h:36:5: style: Class 'String' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYString.h:144:28: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYEditor.cc:25:36: style:inconclusive: Function 'Editor' argument 1 names different: declaration 'prop' definition 'props'. [funcArgNamesDifferent] ibus-libpinyin-1.16.1/src/PYEditor.h:57:32: note: Function 'Editor' argument 1 names different: declaration 'prop' definition 'props'. ibus-libpinyin-1.16.1/src/PYEditor.cc:25:36: note: Function 'Editor' argument 1 names different: declaration 'prop' definition 'props'. ibus-libpinyin-1.16.1/src/PYEditor.cc:97:24: style: Local variable 'text' shadows outer function [shadowFunction] ibus-libpinyin-1.16.1/src/PYEditor.h:70:20: note: Shadowed declaration ibus-libpinyin-1.16.1/src/PYEditor.cc:97:24: note: Shadow variable ibus-libpinyin-1.16.1/src/PYEditor.cc:149:20: style: Local variable 'text' shadows outer function [shadowFunction] ibus-libpinyin-1.16.1/src/PYEditor.h:70:20: note: Shadowed declaration ibus-libpinyin-1.16.1/src/PYEditor.cc:149:20: note: Shadow variable ibus-libpinyin-1.16.1/src/PYEngine.cc:161:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ibus_pinyin_engine_parent_class [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYEngine.cc:186:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ibus_pinyin_engine_parent_class [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYEngine.cc:237:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ibus_pinyin_engine_parent_class [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYEngine.cc:238:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ibus_pinyin_engine_parent_class [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYEngine.cc:239:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ibus_pinyin_engine_parent_class [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYEngine.cc:240:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ibus_pinyin_engine_parent_class [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYEngine.cc:241:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ibus_pinyin_engine_parent_class [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYEngine.cc:242:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ibus_pinyin_engine_parent_class [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYEngine.cc:243:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ibus_pinyin_engine_parent_class [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYEngine.cc:244:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ibus_pinyin_engine_parent_class [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYEngine.cc:245:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ibus_pinyin_engine_parent_class [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYEngine.cc:293:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_CONTROL_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPointer.h:61:17: warning: Member variable 'Pointer < IBusEngine >::m_p' is not assigned a value in 'Pointer < IBusEngine >::operator='. [operatorEqVarError] ibus-libpinyin-1.16.1/src/PYEngine.cc:256:9: performance:inconclusive: Technically the member function 'PY::Engine::contentIsPassword' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYEngine.h:42:14: note: Technically the member function 'PY::Engine::contentIsPassword' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYEngine.cc:256:9: note: Technically the member function 'PY::Engine::contentIsPassword' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:64:10: warning: The class 'PinyinEngine' defines member function with name 'commitText' also defined in its parent class 'Engine'. [duplInheritedMember] ibus-libpinyin-1.16.1/src/PYEngine.h:62:10: note: Parent function 'Engine::commitText' ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:64:10: note: Derived function 'PinyinEngine::commitText' ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:59:10: warning: The class 'BopomofoEngine' defines member function with name 'commitText' also defined in its parent class 'Engine'. [duplInheritedMember] ibus-libpinyin-1.16.1/src/PYEngine.h:62:10: note: Parent function 'Engine::commitText' ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:59:10: note: Derived function 'BopomofoEngine::commitText' ibus-libpinyin-1.16.1/src/PYLookupTable.h:31:5: style: Class 'LookupTable' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYProperty.h:31:5: style: Class 'Property' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPinyinProperties.h:38:5: style: Class 'PinyinProperties' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:34:5: style: Class 'PinyinEngine' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:32:5: style: Class 'BopomofoEngine' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPointer.h:30:5: style: Struct 'Pointer < IBusEngine >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:35:6: style: The destructor '~PinyinEngine' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:40:14: note: Virtual destructor in base class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:35:6: note: Destructor in derived class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:40: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.1/src/PYEngine.h:45:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:40:14: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:41:10: style: The function 'focusIn' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:46:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:41:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:42:10: style: The function 'focusOut' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:47:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:42:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:43: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.1/src/PYEngine.h:51:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:43:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:44:10: style: The function 'enable' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:52:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:44:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:45:10: style: The function 'disable' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:53:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:45:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:46:10: style: The function 'pageUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:54:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:46:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:47:10: style: The function 'pageDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:55:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:47:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:48:10: style: The function 'cursorUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:56:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:48:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:49:10: style: The function 'cursorDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:57:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:49:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:50:14: style: The function 'propertyActivate' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:58:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:50:14: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:51:10: style: The function 'candidateClicked' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:59:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:51:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:33:6: style: The destructor '~BopomofoEngine' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:40:14: note: Virtual destructor in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:33:6: note: Destructor in derived class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:38: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.1/src/PYEngine.h:45:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:38:14: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:39:10: style: The function 'focusIn' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:46:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:39:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:40:10: style: The function 'focusOut' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:47:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:40:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:41: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.1/src/PYEngine.h:51:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:41:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:42:10: style: The function 'enable' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:52:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:42:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:43:10: style: The function 'disable' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:53:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:43:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:44:10: style: The function 'pageUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:54:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:44:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:45:10: style: The function 'pageDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:55:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:45:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:46:10: style: The function 'cursorUp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:56:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:46:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:47:10: style: The function 'cursorDown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:57:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:47:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:48:14: style: The function 'propertyActivate' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:58:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:48:14: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:49:10: style: The function 'candidateClicked' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ibus-libpinyin-1.16.1/src/PYEngine.h:59:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:49:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYEngine.cc:161:35: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:186:6: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:237:1: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:238:1: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:239:1: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:240:1: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:241:1: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:242:1: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:243:1: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:244:1: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:245:1: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:115:34: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:165:34: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:179:12: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:186:69: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:195:32: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:215:32: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:224:32: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:237:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:238:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:239:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:240:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:241:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:242:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:243:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:244:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEngine.cc:245:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ibus-libpinyin-1.16.1/src/PYEnglishDatabase.cc:42:15: error: There is an unknown macro here somewhere. Configuration is required. If G_DIR_SEPARATOR_S is a macro then please configure it. [unknownMacro] ibus-libpinyin-1.16.1/src/PYEnglishEditor.cc:47:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYEnglishEditor.cc:218:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_Return [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYEnglishEditor.cc:237:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_space [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.1/src/PYEnglishEditor.h:39:14: note: Destructor in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYEnglishEditor.h:41:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:61:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYEnglishEditor.h:42:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:62:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYEnglishEditor.h:43:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:63:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYEnglishEditor.h:44:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:64:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYEnglishEditor.h:45:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:65:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYEnglishEditor.h:46:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:66:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYEnglishEditor.h:47:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYEnglishEditor.h:48:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYEnglishEditor.h:49:18: note: Function in derived class ibus-libpinyin-1.16.1/src/PYEnglishEditor.cc:438:9: style: Checking if unsigned expression 'm_cursor' is less than zero. [unsignedLessThanZero] ibus-libpinyin-1.16.1/src/PYEnglishEditor.cc:456:9: style: Checking if unsigned expression 'm_cursor' is less than zero. [unsignedLessThanZero] ibus-libpinyin-1.16.1/src/PYEnglishEditor.cc:45:68: style:inconclusive: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. [funcArgNamesDifferent] ibus-libpinyin-1.16.1/src/PYEnglishEditor.h:41:74: note: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. ibus-libpinyin-1.16.1/src/PYEnglishEditor.cc:45:68: note: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. ibus-libpinyin-1.16.1/src/PYExtEditor.cc:168:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:366:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_space [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:394:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_Return [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:660:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LABEL_NONE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPointer.h:61:17: warning: Member variable 'Pointer < IBusEnginePlugin >::m_p' is not assigned a value in 'Pointer < IBusEnginePlugin >::operator='. [operatorEqVarError] ibus-libpinyin-1.16.1/src/PYPointer.h:30:5: style: Struct 'Pointer < IBusEnginePlugin >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYExtEditor.h:31:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:61:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYExtEditor.h:32:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:62:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYExtEditor.h:33:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:63:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYExtEditor.h:34:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:64:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYExtEditor.h:35:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:65:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYExtEditor.h:36:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:66:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYExtEditor.h:37:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYExtEditor.h:38:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYExtEditor.h:39:18: note: Function in derived class ibus-libpinyin-1.16.1/src/PYExtEditor.cc:539:44: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:563:57: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:720:36: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:747:61: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:803:57: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/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.1/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.1/src/PYExtEditor.cc:530:9: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:594:9: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:425:9: style: Checking if unsigned expression 'm_cursor' is less than zero. [unsignedLessThanZero] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:443:9: style: Checking if unsigned expression 'm_cursor' is less than zero. [unsignedLessThanZero] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:710:47: performance: Function parameter 'prefix' should be passed by const reference. [passedByValue] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:735:37: performance: Function parameter 'command_name' should be passed by const reference. [passedByValue] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:539:33: style: Variable 'command' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:720:25: style: Variable 'command' can be declared as pointer to const [constVariablePointer] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:92:21: style: Variable 'unit' is assigned a value that is never used. [unreadVariable] ibus-libpinyin-1.16.1/src/PYExtEditor.cc:649:29: style: Variable 'arg' is assigned a value that is never used. [unreadVariable] ibus-libpinyin-1.16.1/src/PYFallbackEditor.cc:219:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYFallbackEditor.h:45:10: style:inconclusive: Technically the member function 'PY::FallbackEditor::commit' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYFallbackEditor.h:52:10: style:inconclusive: Technically the member function 'PY::FallbackEditor::commit' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYFallbackEditor.h:58:10: style:inconclusive: Technically the member function 'PY::FallbackEditor::commit' can be const. [functionConst] ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYFallbackEditor.h:36:14: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYFallbackEditor.h:37:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYFallbackEditor.h:66:17: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:69:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBPINYIN_DATADIR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:127:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBPINYIN_DATADIR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:196:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USE_RESPLIT_TABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:210:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USE_TONE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:238:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USER_DICTIONARY [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:283:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USER_DICTIONARY [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:446:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:494:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:541:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NETWORK_DICTIONARY [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:143:40: error: Using pointer that is a temporary. [danglingTemporaryLifetime] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:142:55: note: Pointer to container is created here. ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:142:46: note: Temporary created here. ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:143:40: note: Using pointer that is a temporary. ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:111:19: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::freePinyinInstance' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.h:49:10: note: Technically the member function 'PY::LibPinyinBackEnd::freePinyinInstance' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:111:19: note: Technically the member function 'PY::LibPinyinBackEnd::freePinyinInstance' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:169:19: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::freeChewingInstance' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.h:51:10: note: Technically the member function 'PY::LibPinyinBackEnd::freeChewingInstance' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:169:19: note: Technically the member function 'PY::LibPinyinBackEnd::freeChewingInstance' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:384:19: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::rememberUserInput' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.h:61:14: note: Technically the member function 'PY::LibPinyinBackEnd::rememberUserInput' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:384:19: note: Technically the member function 'PY::LibPinyinBackEnd::rememberUserInput' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:397:19: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::rememberCloudInput' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.h:62:14: note: Technically the member function 'PY::LibPinyinBackEnd::rememberCloudInput' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:397:19: note: Technically the member function 'PY::LibPinyinBackEnd::rememberCloudInput' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:512:19: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::forwardNetworkDictionary' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.h:86:10: note: Technically the member function 'PY::LibPinyinBackEnd::forwardNetworkDictionary' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:512:19: note: Technically the member function 'PY::LibPinyinBackEnd::forwardNetworkDictionary' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:534:19: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::importRestNetworkDictionary' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.h:88:10: note: Technically the member function 'PY::LibPinyinBackEnd::importRestNetworkDictionary' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:534:19: note: Technically the member function 'PY::LibPinyinBackEnd::importRestNetworkDictionary' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:39:5: warning: Class 'LibPinyinBackEnd' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:39:5: warning: Class 'LibPinyinBackEnd' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] ibus-libpinyin-1.16.1/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.1/src/PYConfig.h:125:10: note: Parent function 'Config::initDefaultValues' ibus-libpinyin-1.16.1/src/PYPConfig.h:47:10: note: Derived function 'LibPinyinConfig::initDefaultValues' ibus-libpinyin-1.16.1/src/PYPConfig.h:38:5: style: Class 'LibPinyinConfig' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/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.1/src/PYConfig.h:51:14: note: Virtual destructor in base class ibus-libpinyin-1.16.1/src/PYPConfig.h:39:14: note: Destructor in derived class ibus-libpinyin-1.16.1/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.1/src/PYConfig.h:105:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPConfig.h:42:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYConfig.h:108:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPConfig.h:43:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYConfig.h:110:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPConfig.h:44:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYConfig.h:132:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPConfig.h:49:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYConfig.h:133:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPConfig.h:50:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPConfig.h:49:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPConfig.h:69:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPConfig.h:50:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPConfig.h:71:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPConfig.h:49:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPConfig.h:87:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPConfig.h:50:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPConfig.h:89:22: note: Function in derived class ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:415:26: style: Condition 'self->saveUserDB()' is always true [knownConditionTrueFalse] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:415:26: note: Calling function 'saveUserDB' returns 1 ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:415:26: note: Condition 'self->saveUserDB()' is always true ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:187:45: style: Parameter 'config' can be declared as pointer to const [constParameterPointer] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:202:46: style: Parameter 'config' can be declared as pointer to const [constParameterPointer] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:441:20: style: Variable 'current' is assigned a value that is never used. [unreadVariable] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:441:12: style: Variable 'current' is assigned a value that is never used. [unreadVariable] ibus-libpinyin-1.16.1/src/PYMain.cc:59:62: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable VERSION [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYMain.cc:118:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable VERSION [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYMain.cc:197:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PKGDATADIR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYMain.cc:253:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPointer.h:61:17: warning: Member variable 'Pointer < IBusFactory >::m_p' is not assigned a value in 'Pointer < IBusFactory >::operator='. [operatorEqVarError] ibus-libpinyin-1.16.1/src/PYPointer.h:61:17: warning: Member variable 'Pointer < IBusComponent >::m_p' is not assigned a value in 'Pointer < IBusComponent >::operator='. [operatorEqVarError] ibus-libpinyin-1.16.1/src/PYPointer.h:30:5: style: Struct 'Pointer < IBusFactory >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPointer.h:30:5: style: Struct 'Pointer < IBusComponent >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYMain.cc:270:7: error: Memory leak: context [memleak] ibus-libpinyin-1.16.1/src/PYMain.cc:286:5: error: Memory leak: context [memleak] ibus-libpinyin-1.16.1/src/PYMain.cc:114:5: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYMain.cc:75:33: style: Parameter 'bus' can be declared as pointer to const. However it seems that 'ibus_disconnected_cb' is a callback function, if 'bus' is declared with const you might also need to cast function pointer(s). [constParameterCallback] ibus-libpinyin-1.16.1/src/PYMain.cc:114:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.1/src/PYMain.cc:75:33: note: Parameter 'bus' can be declared as pointer to const ibus-libpinyin-1.16.1/src/PYMain.cc:76:33: style: Parameter 'user_data' can be declared as pointer to const. However it seems that 'ibus_disconnected_cb' 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.1/src/PYMain.cc:114:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.1/src/PYMain.cc:76:33: note: Parameter 'user_data' can be declared as pointer to const ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h:33:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPTradCandidates.h:36:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.cc:98:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_space [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.cc:122:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_KP_1 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.cc:150:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD1_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.cc:184:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_space [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.cc:196:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.cc:375:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NBEST_MATCH_CANDIDATE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/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.1/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.1/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.1/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.1/src/PYPTradCandidates.h:40:14: note: Derived function 'TraditionalCandidates::processCandidates' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.1/src/PYPTradCandidates.h:42:9: note: Derived function 'TraditionalCandidates::selectCandidate' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.1/src/PYPTradCandidates.h:43:14: note: Derived function 'TraditionalCandidates::removeCandidate' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.h:35:14: note: Derived function 'EmojiCandidates::processCandidates' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.h:37:9: note: Derived function 'EmojiCandidates::selectCandidate' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.h:38:14: note: Derived function 'EmojiCandidates::removeCandidate' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < PhoneticEditor >::processCandidates' ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h:37:14: note: Derived function 'LibPinyinCandidates::processCandidates' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < PhoneticEditor >::selectCandidate' ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h:39:9: note: Derived function 'LibPinyinCandidates::selectCandidate' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < PhoneticEditor >::removeCandidate' ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h:40:14: note: Derived function 'LibPinyinCandidates::removeCandidate' ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h:32:5: style: Class 'LibPinyinCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYSimpTradConverter.h:32:5: style: Class 'SimpTradConverter' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.h:32:5: style: Class 'EmojiCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h:58:14: note: Destructor in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:61:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h:62:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:62:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h:63:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:63:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h:64:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:64:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h:65:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:65:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h:66:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:66:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h:67:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h:68:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h:69:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h:70:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:164:17: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h:84:17: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:165:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h:85:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.h:35:14: note: Destructor in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:70:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.h:46:14: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:73:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.h:49:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:110:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.h:51:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:109:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.h:52:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:111:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.h:53:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:77:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.h:54:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.h:57:10: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:98:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.h:59:14: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.h:33:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc:46:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MODE_INIT [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc:79:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_RELEASE_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc:164:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_RELEASE_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc:239:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_VoidSymbol [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc:286:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBEXECDIR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc:318:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MODE_INIT [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc:283:17: performance:inconclusive: Technically the member function 'PY::BopomofoEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:55:10: note: Technically the member function 'PY::BopomofoEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc:283:17: note: Technically the member function 'PY::BopomofoEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc:313:17: warning: The class 'BopomofoEngine' defines member function with name 'commitText' also defined in its parent class 'Engine'. [duplInheritedMember] ibus-libpinyin-1.16.1/src/PYEngine.h:62:10: note: Parent function 'Engine::commitText' ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc:313:17: note: Derived function 'BopomofoEngine::commitText' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < SuggestionEditor >::processCandidates' ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.h:37:14: note: Derived function 'SuggestionCandidates::processCandidates' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < SuggestionEditor >::selectCandidate' ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.h:39:9: note: Derived function 'SuggestionCandidates::selectCandidate' ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.h:32:5: style: Class 'SuggestionCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPunctEditor.h:35:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:61:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPunctEditor.h:36:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:62:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPunctEditor.h:37:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:63:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPunctEditor.h:38:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:64:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPunctEditor.h:39:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:65:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPunctEditor.h:40:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPunctEditor.h:41:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPunctEditor.h:42:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.h:43:14: note: Destructor in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.h:45:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:61:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.h:46:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:62:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.h:47:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:63:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.h:48:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:64:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.h:49:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:65:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.h:50:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.h:51:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.h:52:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:164:17: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.h:59:17: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:325:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:403:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_display_string [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:484:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_display_string [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:568:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOUP_MESSAGE_PRIORITY_NORMAL [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:648:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_lookup_table [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:681:76: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_cursor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:550:20: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:603:20: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:648:34: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:681:44: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:369:37: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:335:5: warning: Class 'CloudCandidates' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:335:5: warning: Class 'CloudCandidates' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < PhoneticEditor >::processCandidates' ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:391:18: note: Derived function 'CloudCandidates::processCandidates' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < PhoneticEditor >::selectCandidate' ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:473:18: note: Derived function 'CloudCandidates::selectCandidate' ibus-libpinyin-1.16.1/src/PYPCloudCandidates.h:58:5: style: Class 'CloudCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:217:5: style: Class 'GoogleCloudCandidatesResponseJsonParser' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:319:5: style: Class 'BaiduCloudCandidatesResponseJsonParser' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:72:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEditor.h:40:14: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:109:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEditor.h:42:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:73:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEditor.h:43:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:110:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEditor.h:44:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:70:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEditor.h:46:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:111:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEditor.h:48:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:77:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPPinyinEditor.h:49:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPCloudCandidates.cc:67:14: note: Virtual destructor in base class ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:89:14: note: Destructor in derived class ibus-libpinyin-1.16.1/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.1/src/PYPCloudCandidates.cc:71:19: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:97:11: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPCloudCandidates.cc:117:19: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:123:11: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPCloudCandidates.cc:69:20: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:202:12: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPCloudCandidates.cc:117:19: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:223:11: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPCloudCandidates.cc:69:20: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:310:12: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:577:50: style:inconclusive: Function 'cloudResponseCallBack' argument 1 names different: declaration 'object' definition 'source_object'. [funcArgNamesDifferent] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.h:81:49: note: Function 'cloudResponseCallBack' argument 1 names different: declaration 'object' definition 'source_object'. ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:577:50: note: Function 'cloudResponseCallBack' argument 1 names different: declaration 'object' definition 'source_object'. ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:618:121: style:inconclusive: Function 'processCloudResponse' argument 3 names different: declaration 'pinyin' definition 'requested_pinyin'. [funcArgNamesDifferent] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.h:83:116: note: Function 'processCloudResponse' argument 3 names different: declaration 'pinyin' definition 'requested_pinyin'. ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:618:121: note: Function 'processCloudResponse' argument 3 names different: declaration 'pinyin' definition 'requested_pinyin'. ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:446:27: style: Local variable 'display_string' shadows outer variable [shadowVariable] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:403:20: note: Shadowed declaration ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:446:27: note: Shadow variable ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:448:45: style: Local variable 'iter' shadows outer variable [shadowVariable] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:397:51: note: Shadowed declaration ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:448:45: note: Shadow variable ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:567:18: style: Local variable 'm_message' shadows outer variable [shadowVariable] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.h:75:18: note: Shadowed declaration ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:567:18: note: Shadow variable ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:618:95: style: Parameter 'candidates' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc:629:36: style: Variable 'string_candidates' can be declared as reference to const [constVariableReference] ibus-libpinyin-1.16.1/src/PYPConfig.cc:145:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PINYIN_INCOMPLETE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPConfig.cc:291:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_ORIENTATION_HORIZONTAL [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPConfig.cc:391:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_ORIENTATION_HORIZONTAL [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPConfig.cc:577:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DOUBLE_PINYIN_DEFAULT [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPConfig.cc:646:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DOUBLE_PINYIN_DEFAULT [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPConfig.cc:787:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ZHUYIN_DEFAULT [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPConfig.cc:827:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ZHUYIN_DEFAULT [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/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.1/src/PYConfig.h:125:10: note: Parent function 'Config::initDefaultValues' ibus-libpinyin-1.16.1/src/PYPConfig.cc:142:18: note: Derived function 'LibPinyinConfig::initDefaultValues' ibus-libpinyin-1.16.1/src/PYPConfig.cc:96:27: style: Operator '|' with one operand equal to zero is redundant. [badBitmaskCheck] ibus-libpinyin-1.16.1/src/PYPDoublePinyinEditor.cc:63:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_z [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPDoublePinyinEditor.cc:93:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.1/src/PYPDoublePinyinEditor.h:31:6: note: Destructor in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:98:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPDoublePinyinEditor.h:33:14: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPinyinEditor.h:46:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPDoublePinyinEditor.h:36:14: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPDoublePinyinEditor.h:37:10: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPinyinEditor.h:42:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPDoublePinyinEditor.h:41:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPinyinEditor.h:48:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPDoublePinyinEditor.h:42:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPDoublePinyinEditor.h:37:10: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:34:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:83:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_text [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:32:18: warning: Member variable 'EmojiCandidates::m_candidate' is not initialized in the constructor. [uninitMemberVar] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:83:23: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:89:14: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:108:18: performance:inconclusive: Technically the member function 'PY::EmojiCandidates::selectCandidate' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.h:37:9: note: Technically the member function 'PY::EmojiCandidates::selectCandidate' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:108:18: note: Technically the member function 'PY::EmojiCandidates::selectCandidate' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:117:18: performance:inconclusive: Technically the member function 'PY::EmojiCandidates::removeCandidate' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.h:38:14: note: Technically the member function 'PY::EmojiCandidates::removeCandidate' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:117:18: note: Technically the member function 'PY::EmojiCandidates::removeCandidate' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:66:18: note: Derived function 'EmojiCandidates::processCandidates' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:108:18: note: Derived function 'EmojiCandidates::selectCandidate' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:117:18: note: Derived function 'EmojiCandidates::removeCandidate' ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:108:55: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:117:55: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:76:0: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] ibus-libpinyin-1.16.1/src/PYPEnglishCandidates.cc:33:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPointer.h:61:17: warning: Member variable 'Pointer::m_p' is not assigned a value in 'Pointer::operator='. [operatorEqVarError] ibus-libpinyin-1.16.1/src/PYPEnglishCandidates.cc:46:9: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.1/src/PYPEnglishCandidates.cc:44:20: note: Derived function 'EnglishCandidates::processCandidates' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.1/src/PYPEnglishCandidates.cc:87:20: note: Derived function 'EnglishCandidates::selectCandidate' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.1/src/PYPEnglishCandidates.cc:98:20: note: Derived function 'EnglishCandidates::removeCandidate' ibus-libpinyin-1.16.1/src/PYPointer.h:30:5: style: Struct 'Pointer' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPEnglishCandidates.h:35:5: style: Class 'EnglishCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPEnglishCandidates.cc:63:9: style: The scope of the variable 'count' can be reduced. [variableScope] ibus-libpinyin-1.16.1/src/PYPEnglishCandidates.cc:87:57: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.1/src/PYPEnglishCandidates.cc:98:57: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.1/src/PYPEnglishCandidates.cc:56:0: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] ibus-libpinyin-1.16.1/src/PYPFullPinyinEditor.cc:74:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.1/src/PYPFullPinyinEditor.h:31:6: note: Destructor in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:98:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPFullPinyinEditor.h:34:14: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPinyinEditor.h:46:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPFullPinyinEditor.h:37:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPFullPinyinEditor.h:38:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPinyinEditor.h:42:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPFullPinyinEditor.h:39:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPinyinEditor.h:48:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPFullPinyinEditor.h:43:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYPPhoneticEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYPFullPinyinEditor.h:38:18: note: Function in derived class ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:34:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_instance [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:89:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_instance [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:183:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_instance [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:34:35: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:32:22: style:inconclusive: Technically the member function 'PY::LibPinyinCandidates::processCandidates' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h:37:14: note: Technically the member function 'PY::LibPinyinCandidates::processCandidates' can be const. ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:32:22: note: Technically the member function 'PY::LibPinyinCandidates::processCandidates' can be const. ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:89:36: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:102:27: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:183:36: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:181:22: style:inconclusive: Technically the member function 'PY::LibPinyinCandidates::removeCandidate' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h:40:14: note: Technically the member function 'PY::LibPinyinCandidates::removeCandidate' can be const. ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:181:22: note: Technically the member function 'PY::LibPinyinCandidates::removeCandidate' can be const. ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < PhoneticEditor >::processCandidates' ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:32:22: note: Derived function 'LibPinyinCandidates::processCandidates' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < PhoneticEditor >::selectCandidate' ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:87:22: note: Derived function 'LibPinyinCandidates::selectCandidate' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < PhoneticEditor >::removeCandidate' ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:181:22: note: Derived function 'LibPinyinCandidates::removeCandidate' ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:181:59: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.1/src/PYPLuaConverterCandidates.cc:31:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPLuaConverterCandidates.cc:118:12: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.1/src/PYPLuaConverterCandidates.cc:48:25: note: Derived function 'LuaConverterCandidates::processCandidates' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.1/src/PYPLuaConverterCandidates.cc:82:25: note: Derived function 'LuaConverterCandidates::selectCandidate' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.1/src/PYPLuaConverterCandidates.cc:110:25: note: Derived function 'LuaConverterCandidates::removeCandidate' ibus-libpinyin-1.16.1/src/PYPLuaConverterCandidates.h:36:5: style: Class 'LuaConverterCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPLuaConverterCandidates.cc:110:62: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.1/src/PYPLuaTriggerCandidates.cc:33:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_editor [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPLuaTriggerCandidates.cc:60:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_text [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.1/src/PYPLuaTriggerCandidates.cc:44:23: note: Derived function 'LuaTriggerCandidates::processCandidates' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.1/src/PYPLuaTriggerCandidates.cc:115:23: note: Derived function 'LuaTriggerCandidates::selectCandidate' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.1/src/PYPLuaTriggerCandidates.cc:124:23: note: Derived function 'LuaTriggerCandidates::removeCandidate' ibus-libpinyin-1.16.1/src/PYPLuaTriggerCandidates.h:35:5: style: Class 'LuaTriggerCandidates' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ibus-libpinyin-1.16.1/src/PYPLuaTriggerCandidates.cc:115:60: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.1/src/PYPLuaTriggerCandidates.cc:124:60: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.1/src/PYPLuaTriggerCandidates.cc:55:0: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.cc:93:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_CONTROL_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.cc:205:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.cc:281:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_ATTR_TYPE_FOREGROUND [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.cc:352:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SORT_WITHOUT_SENTENCE_CANDIDATE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.cc:29:17: warning: Member variable 'PhoneticEditor::m_instance' is not initialized in the constructor. [uninitMemberVar] ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.cc:517:40: style:inconclusive: Function 'selectCandidate' argument 1 names different: declaration 'i' definition 'index'. [funcArgNamesDifferent] ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h:86:37: note: Function 'selectCandidate' argument 1 names different: declaration 'i' definition 'index'. ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.cc:517:40: note: Function 'selectCandidate' argument 1 names different: declaration 'i' definition 'index'. ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.cc:274:29: style: Variable 'candidate' can be declared as reference to const [constVariableReference] ibus-libpinyin-1.16.1/src/PYPPinyinEditor.cc:70:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_1 [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPinyinEditor.cc:159:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_CONTROL_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPinyinEditor.cc:187:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPinyinEditor.cc:263:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SORT_WITHOUT_SENTENCE_CANDIDATE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:65:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MODE_INIT [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:170:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_RELEASE_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:263:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_RELEASE_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:470:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MODE_INIT [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:505:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_VoidSymbol [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:552:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBEXECDIR [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:581:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MODE_INIT [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:549:15: performance:inconclusive: Technically the member function 'PY::PinyinEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:61:10: note: Technically the member function 'PY::PinyinEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:549:15: note: Technically the member function 'PY::PinyinEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:576:15: warning: The class 'PinyinEngine' defines member function with name 'commitText' also defined in its parent class 'Engine'. [duplInheritedMember] ibus-libpinyin-1.16.1/src/PYEngine.h:62:10: note: Parent function 'Engine::commitText' ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:576:15: note: Derived function 'PinyinEngine::commitText' ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:31:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_instance [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:74:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_instance [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:31:35: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:29:23: style:inconclusive: Technically the member function 'PY::SuggestionCandidates::processCandidates' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.h:37:14: note: Technically the member function 'PY::SuggestionCandidates::processCandidates' can be const. ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:29:23: note: Technically the member function 'PY::SuggestionCandidates::processCandidates' can be const. ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:74:36: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:72:23: style:inconclusive: Technically the member function 'PY::SuggestionCandidates::selectCandidate' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.h:39:9: note: Technically the member function 'PY::SuggestionCandidates::selectCandidate' can be const. ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:72:23: note: Technically the member function 'PY::SuggestionCandidates::selectCandidate' can be const. ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < SuggestionEditor >::processCandidates' ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:29:23: note: Derived function 'SuggestionCandidates::processCandidates' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < SuggestionEditor >::selectCandidate' ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:72:23: note: Derived function 'SuggestionCandidates::selectCandidate' ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.cc:65:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.cc:185:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_space [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.cc:63:71: style:inconclusive: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. [funcArgNamesDifferent] ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.h:45:74: note: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.cc:63:71: note: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.cc:343:29: style: Variable 'candidate' can be declared as reference to const [constVariableReference] ibus-libpinyin-1.16.1/src/PYPTradCandidates.cc:59:18: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/src/PYPTradCandidates.cc:80:12: debug: CheckClass::isMemberVar found used member variable 'm_editor' with varid 0 [varid0] ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:71:14: note: Parent function 'EnhancedCandidates < Editor >::processCandidates' ibus-libpinyin-1.16.1/src/PYPTradCandidates.cc:29:24: note: Derived function 'TraditionalCandidates::processCandidates' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:73:9: note: Parent function 'EnhancedCandidates < Editor >::selectCandidate' ibus-libpinyin-1.16.1/src/PYPTradCandidates.cc:51:24: note: Derived function 'TraditionalCandidates::selectCandidate' ibus-libpinyin-1.16.1/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.1/src/PYPEnhancedCandidates.h:74:14: note: Parent function 'EnhancedCandidates < Editor >::removeCandidate' ibus-libpinyin-1.16.1/src/PYPTradCandidates.cc:72:24: note: Derived function 'TraditionalCandidates::removeCandidate' ibus-libpinyin-1.16.1/src/PYPTradCandidates.cc:72:61: style: Parameter 'enhanced' can be declared as reference to const [constParameterReference] ibus-libpinyin-1.16.1/src/PYPinyinProperties.cc:130:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GETTEXT_PACKAGE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPinyinProperties.cc:155:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GETTEXT_PACKAGE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPinyinProperties.cc:171:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GETTEXT_PACKAGE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPinyinProperties.cc:187:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GETTEXT_PACKAGE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPinyinProperties.cc:139:60: style: Same expression in both branches of ternary operator. [duplicateExpressionTernary] ibus-libpinyin-1.16.1/src/PYPinyinProperties.cc:158:54: style: Same expression in both branches of ternary operator. [duplicateExpressionTernary] ibus-libpinyin-1.16.1/src/PYPinyinProperties.cc:174:67: style: Same expression in both branches of ternary operator. [duplicateExpressionTernary] ibus-libpinyin-1.16.1/src/PYPinyinProperties.cc:190:65: style: Same expression in both branches of ternary operator. [duplicateExpressionTernary] ibus-libpinyin-1.16.1/src/PYPunctEditor.cc:42:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_grave [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPunctEditor.cc:94:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MODE_DISABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPunctEditor.cc:148:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPunctEditor.cc:405:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MODE_DISABLE [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYPunctEditor.cc:523:25: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYPunctEditor.cc:535:11: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYPunctEditor.cc:531:20: style: The scope of the variable 'res' can be reduced. [variableScope] ibus-libpinyin-1.16.1/src/PYPunctEditor.cc:431:42: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] ibus-libpinyin-1.16.1/src/PYPunctEditor.cc:501:43: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] ibus-libpinyin-1.16.1/src/PYPunctEditor.cc:607:50: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:107:20: performance:inconclusive: Technically the member function 'PY::SimpTradConverter::simpToTrad' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYSimpTradConverter.h:33:10: note: Technically the member function 'PY::SimpTradConverter::simpToTrad' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:107:20: note: Technically the member function 'PY::SimpTradConverter::simpToTrad' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:98:24: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:99:24: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:130:22: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYTableDatabase.cc:38:15: error: There is an unknown macro here somewhere. Configuration is required. If G_DIR_SEPARATOR_S is a macro then please configure it. [unknownMacro] ibus-libpinyin-1.16.1/src/PYTableEditor.cc:50:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_MOD4_MASK [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYTableEditor.cc:207:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_Return [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYTableEditor.cc:222:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_space [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:58:14: note: Virtual destructor in base class ibus-libpinyin-1.16.1/src/PYTableEditor.h:36:14: note: Destructor in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:60:22: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYTableEditor.h:38:22: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:61:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYTableEditor.h:39:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:62:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYTableEditor.h:40:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:63:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYTableEditor.h:41:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:64:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYTableEditor.h:42:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:65:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYTableEditor.h:43:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:66:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYTableEditor.h:44:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:67:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYTableEditor.h:45:18: note: Function in derived class ibus-libpinyin-1.16.1/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.1/src/PYEditor.h:68:18: note: Virtual function in base class ibus-libpinyin-1.16.1/src/PYTableEditor.h:46:18: note: Function in derived class ibus-libpinyin-1.16.1/src/PYTableEditor.cc:442:9: style: Checking if unsigned expression 'm_cursor' is less than zero. [unsignedLessThanZero] ibus-libpinyin-1.16.1/src/PYTableEditor.cc:460:9: style: Checking if unsigned expression 'm_cursor' is less than zero. [unsignedLessThanZero] ibus-libpinyin-1.16.1/src/PYTableEditor.cc:48:66: style:inconclusive: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. [funcArgNamesDifferent] ibus-libpinyin-1.16.1/src/PYTableEditor.h:38:74: note: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. ibus-libpinyin-1.16.1/src/PYTableEditor.cc:48:66: note: Function 'processKeyEvent' argument 3 names different: declaration 'modifers' definition 'modifiers'. ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:164:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_MARKUP_DEFAULT_FLAGS [valueFlowBailoutIncompleteVar] ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:85:31: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:96:31: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:108:31: style: C-style pointer casting [cstyleCast] ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:165:13: style: Variable 'success' is reassigned a value before the old one has been used. [redundantAssignment] ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:162:13: note: success is assigned ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:165:13: note: success is overwritten ibus-libpinyin-1.16.1/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.1/src/PYXMLUtil.cc:68:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:114:50: note: Parameter 'context' can be declared as pointer to const ibus-libpinyin-1.16.1/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.1/src/PYXMLUtil.cc:68:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:117:50: note: Parameter 'user_data' can be declared as pointer to const ibus-libpinyin-1.16.1/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.1/src/PYXMLUtil.cc:69:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:123:43: note: Parameter 'context' can be declared as pointer to const ibus-libpinyin-1.16.1/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.1/src/PYXMLUtil.cc:69:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:124:43: note: Parameter 'error' can be declared as pointer to const ibus-libpinyin-1.16.1/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.1/src/PYXMLUtil.cc:69:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:125:43: note: Parameter 'user_data' can be declared as pointer to const ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:31:14: style: struct member 'EngineXMLVersion::in_version_tag' is never used. [unusedStructMember] ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:33:13: style: struct member 'EngineXMLVersion::first_version' is never used. [unusedStructMember] ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:141:13: style: Variable 'success' is assigned a value that is never used. [unreadVariable] ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:165:13: style: Variable 'success' is assigned a value that is never used. [unreadVariable] diff: 2.17.0 ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:169:12: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: lines [nullPointerOutOfMemory] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:165:21: note: Assuming allocation function fails ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:165:21: note: Assignment 'lines=g_strsplit(src_string,line_sep,0)', assigned value is 0 ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:169:12: note: Null pointer dereference 2.17.0 ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:173:11: warning: If memory allocation fails, then there is a possible null pointer dereference: key_value [nullPointerOutOfMemory] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:172:27: note: Assuming allocation function fails ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:172:27: note: Assignment 'key_value=g_strsplit(line,key_value_sep,2)', assigned value is 0 ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:173:11: note: Null pointer dereference 2.17.0 ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:177:27: warning: If memory allocation fails, then there is a possible null pointer dereference: key_value [nullPointerOutOfMemory] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:172:27: note: Assuming allocation function fails ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:172:27: note: Assignment 'key_value=g_strsplit(line,key_value_sep,2)', assigned value is 0 ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:174:22: note: Assuming condition is false ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:177:27: note: Null pointer dereference 2.17.0 ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:181:17: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: values [nullPointerOutOfMemory] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:177:26: note: Assuming allocation function fails ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:177:26: note: Assignment 'values=g_strsplit(key_value[1],values_sep,0)', assigned value is 0 ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:181:17: note: Null pointer dereference 2.17.0 ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:329:23: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: str_vec [nullPointerOutOfMemory] ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:323:23: note: Assuming allocation function fails ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:323:23: note: Assignment 'str_vec=g_strsplit(str,sep,0)', assigned value is 0 ibus-libpinyin-1.16.1/lua/lua-plugin-init.c:329:23: note: Null pointer dereference head ibus-libpinyin-1.16.1/src/PYConfig.cc:190:9: style: Unused private function: 'Config::valueChangedCallback' [unusedPrivateFunction] ibus-libpinyin-1.16.1/src/PYConfig.h:137:17: note: Unused private function: 'Config::valueChangedCallback' ibus-libpinyin-1.16.1/src/PYConfig.cc:190:9: note: Unused private function: 'Config::valueChangedCallback' 2.17.0 ibus-libpinyin-1.16.1/src/PYConfig.h:137:17: style: Unused private function: 'Config::valueChangedCallback' [unusedPrivateFunction] 2.17.0 ibus-libpinyin-1.16.1/src/PYEngine.cc:115:34: style: C-style pointer casting [cstyleCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:115:34: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] 2.17.0 ibus-libpinyin-1.16.1/src/PYEngine.cc:165:34: style: C-style pointer casting [cstyleCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:165:34: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:179:12: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:186:69: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:195:32: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] 2.17.0 ibus-libpinyin-1.16.1/src/PYEngine.cc:195:33: style: C-style pointer casting [cstyleCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:215:32: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] 2.17.0 ibus-libpinyin-1.16.1/src/PYEngine.cc:215:33: style: C-style pointer casting [cstyleCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:224:32: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] 2.17.0 ibus-libpinyin-1.16.1/src/PYEngine.cc:224:33: style: C-style pointer casting [cstyleCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:237:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:238:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:239:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:240:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:241:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:242:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:243:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:244:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:245:1: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYEngine.cc:256:9: performance:inconclusive: Technically the member function 'PY::Engine::contentIsPassword' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYEngine.h:42:14: note: Technically the member function 'PY::Engine::contentIsPassword' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYEngine.cc:256:9: note: Technically the member function 'PY::Engine::contentIsPassword' can be static (but you may consider moving to unnamed namespace). 2.17.0 ibus-libpinyin-1.16.1/src/PYEngine.h:42:14: performance:inconclusive: Technically the member function 'PY::Engine::contentIsPassword' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYEngine.cc:256:9: note: Technically the member function 'PY::Engine::contentIsPassword' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYEngine.h:42:14: note: Technically the member function 'PY::Engine::contentIsPassword' can be static (but you may consider moving to unnamed namespace). 2.17.0 ibus-libpinyin-1.16.1/src/PYExtEditor.cc:743:48: style: C-style pointer casting [cstyleCast] head ibus-libpinyin-1.16.1/src/PYExtEditor.cc:743:48: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] 2.17.0 ibus-libpinyin-1.16.1/src/PYExtEditor.cc:748:52: style: C-style pointer casting [cstyleCast] head ibus-libpinyin-1.16.1/src/PYExtEditor.cc:748:52: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYFallbackEditor.h:66:17: style: C-style pointer casting [cstyleCast] 2.17.0 ibus-libpinyin-1.16.1/src/PYFallbackEditor.h:66:18: style: C-style pointer casting [cstyleCast] head ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:111:19: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::freePinyinInstance' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.h:49:10: note: Technically the member function 'PY::LibPinyinBackEnd::freePinyinInstance' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:111:19: note: Technically the member function 'PY::LibPinyinBackEnd::freePinyinInstance' can be static (but you may consider moving to unnamed namespace). head ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:169:19: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::freeChewingInstance' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.h:51:10: note: Technically the member function 'PY::LibPinyinBackEnd::freeChewingInstance' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:169:19: note: Technically the member function 'PY::LibPinyinBackEnd::freeChewingInstance' can be static (but you may consider moving to unnamed namespace). head ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:384:19: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::rememberUserInput' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.h:61:14: note: Technically the member function 'PY::LibPinyinBackEnd::rememberUserInput' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:384:19: note: Technically the member function 'PY::LibPinyinBackEnd::rememberUserInput' can be static (but you may consider moving to unnamed namespace). head ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:397:19: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::rememberCloudInput' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.h:62:14: note: Technically the member function 'PY::LibPinyinBackEnd::rememberCloudInput' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:397:19: note: Technically the member function 'PY::LibPinyinBackEnd::rememberCloudInput' can be static (but you may consider moving to unnamed namespace). head ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:441:12: style: Variable 'current' is assigned a value that is never used. [unreadVariable] head ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:512:19: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::forwardNetworkDictionary' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.h:86:10: note: Technically the member function 'PY::LibPinyinBackEnd::forwardNetworkDictionary' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:512:19: note: Technically the member function 'PY::LibPinyinBackEnd::forwardNetworkDictionary' can be static (but you may consider moving to unnamed namespace). head ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:534:19: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::importRestNetworkDictionary' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.h:88:10: note: Technically the member function 'PY::LibPinyinBackEnd::importRestNetworkDictionary' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:534:19: note: Technically the member function 'PY::LibPinyinBackEnd::importRestNetworkDictionary' can be static (but you may consider moving to unnamed namespace). 2.17.0 ibus-libpinyin-1.16.1/src/PYLibPinyin.h:49:10: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::freePinyinInstance' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:111:19: note: Technically the member function 'PY::LibPinyinBackEnd::freePinyinInstance' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.h:49:10: note: Technically the member function 'PY::LibPinyinBackEnd::freePinyinInstance' can be static (but you may consider moving to unnamed namespace). 2.17.0 ibus-libpinyin-1.16.1/src/PYLibPinyin.h:51:10: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::freeChewingInstance' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:169:19: note: Technically the member function 'PY::LibPinyinBackEnd::freeChewingInstance' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.h:51:10: note: Technically the member function 'PY::LibPinyinBackEnd::freeChewingInstance' can be static (but you may consider moving to unnamed namespace). 2.17.0 ibus-libpinyin-1.16.1/src/PYLibPinyin.h:61:14: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::rememberUserInput' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:384:19: note: Technically the member function 'PY::LibPinyinBackEnd::rememberUserInput' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.h:61:14: note: Technically the member function 'PY::LibPinyinBackEnd::rememberUserInput' can be static (but you may consider moving to unnamed namespace). 2.17.0 ibus-libpinyin-1.16.1/src/PYLibPinyin.h:62:14: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::rememberCloudInput' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:397:19: note: Technically the member function 'PY::LibPinyinBackEnd::rememberCloudInput' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.h:62:14: note: Technically the member function 'PY::LibPinyinBackEnd::rememberCloudInput' can be static (but you may consider moving to unnamed namespace). 2.17.0 ibus-libpinyin-1.16.1/src/PYLibPinyin.h:86:10: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::forwardNetworkDictionary' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:512:19: note: Technically the member function 'PY::LibPinyinBackEnd::forwardNetworkDictionary' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.h:86:10: note: Technically the member function 'PY::LibPinyinBackEnd::forwardNetworkDictionary' can be static (but you may consider moving to unnamed namespace). 2.17.0 ibus-libpinyin-1.16.1/src/PYLibPinyin.h:88:10: performance:inconclusive: Technically the member function 'PY::LibPinyinBackEnd::importRestNetworkDictionary' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYLibPinyin.cc:534:19: note: Technically the member function 'PY::LibPinyinBackEnd::importRestNetworkDictionary' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYLibPinyin.h:88:10: note: Technically the member function 'PY::LibPinyinBackEnd::importRestNetworkDictionary' can be static (but you may consider moving to unnamed namespace). 2.17.0 ibus-libpinyin-1.16.1/src/PYObject.h:31:26: style: C-style pointer casting [cstyleCast] head ibus-libpinyin-1.16.1/src/PYObject.h:31:26: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYObject.h:44:16: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] head ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.cc:331:13: warning: Assert statement calls a function which may have desired side effects: 'g_strv_length'. [assertWithSideEffect] head ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.cc:385:13: warning: Assert statement calls a function which may have desired side effects: 'g_strv_length'. [assertWithSideEffect] head ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc:283:17: performance:inconclusive: Technically the member function 'PY::BopomofoEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:55:10: note: Technically the member function 'PY::BopomofoEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc:283:17: note: Technically the member function 'PY::BopomofoEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). 2.17.0 ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:55:10: performance:inconclusive: Technically the member function 'PY::BopomofoEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc:283:17: note: Technically the member function 'PY::BopomofoEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h:55:10: note: Technically the member function 'PY::BopomofoEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). head ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:108:18: performance:inconclusive: Technically the member function 'PY::EmojiCandidates::selectCandidate' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.h:37:9: note: Technically the member function 'PY::EmojiCandidates::selectCandidate' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:108:18: note: Technically the member function 'PY::EmojiCandidates::selectCandidate' can be static (but you may consider moving to unnamed namespace). head ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:117:18: performance:inconclusive: Technically the member function 'PY::EmojiCandidates::removeCandidate' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.h:38:14: note: Technically the member function 'PY::EmojiCandidates::removeCandidate' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:117:18: note: Technically the member function 'PY::EmojiCandidates::removeCandidate' can be static (but you may consider moving to unnamed namespace). 2.17.0 ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.h:37:9: performance:inconclusive: Technically the member function 'PY::EmojiCandidates::selectCandidate' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:108:18: note: Technically the member function 'PY::EmojiCandidates::selectCandidate' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.h:37:9: note: Technically the member function 'PY::EmojiCandidates::selectCandidate' can be static (but you may consider moving to unnamed namespace). 2.17.0 ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.h:38:14: performance:inconclusive: Technically the member function 'PY::EmojiCandidates::removeCandidate' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc:117:18: note: Technically the member function 'PY::EmojiCandidates::removeCandidate' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.h:38:14: note: Technically the member function 'PY::EmojiCandidates::removeCandidate' can be static (but you may consider moving to unnamed namespace). head ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:181:22: style:inconclusive: Technically the member function 'PY::LibPinyinCandidates::removeCandidate' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h:40:14: note: Technically the member function 'PY::LibPinyinCandidates::removeCandidate' can be const. ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:181:22: note: Technically the member function 'PY::LibPinyinCandidates::removeCandidate' can be const. head ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:32:22: style:inconclusive: Technically the member function 'PY::LibPinyinCandidates::processCandidates' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h:37:14: note: Technically the member function 'PY::LibPinyinCandidates::processCandidates' can be const. ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:32:22: note: Technically the member function 'PY::LibPinyinCandidates::processCandidates' can be const. 2.17.0 ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h:37:14: style:inconclusive: Technically the member function 'PY::LibPinyinCandidates::processCandidates' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:32:22: note: Technically the member function 'PY::LibPinyinCandidates::processCandidates' can be const. ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h:37:14: note: Technically the member function 'PY::LibPinyinCandidates::processCandidates' can be const. 2.17.0 ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h:40:14: style:inconclusive: Technically the member function 'PY::LibPinyinCandidates::removeCandidate' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc:181:22: note: Technically the member function 'PY::LibPinyinCandidates::removeCandidate' can be const. ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h:40:14: note: Technically the member function 'PY::LibPinyinCandidates::removeCandidate' can be const. head ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:549:15: performance:inconclusive: Technically the member function 'PY::PinyinEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:61:10: note: Technically the member function 'PY::PinyinEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:549:15: note: Technically the member function 'PY::PinyinEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). 2.17.0 ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:61:10: performance:inconclusive: Technically the member function 'PY::PinyinEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc:549:15: note: Technically the member function 'PY::PinyinEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h:61:10: note: Technically the member function 'PY::PinyinEngine::showSetupDialog' can be static (but you may consider moving to unnamed namespace). head ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:29:23: style:inconclusive: Technically the member function 'PY::SuggestionCandidates::processCandidates' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.h:37:14: note: Technically the member function 'PY::SuggestionCandidates::processCandidates' can be const. ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:29:23: note: Technically the member function 'PY::SuggestionCandidates::processCandidates' can be const. head ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:72:23: style:inconclusive: Technically the member function 'PY::SuggestionCandidates::selectCandidate' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.h:39:9: note: Technically the member function 'PY::SuggestionCandidates::selectCandidate' can be const. ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:72:23: note: Technically the member function 'PY::SuggestionCandidates::selectCandidate' can be const. 2.17.0 ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.h:37:14: style:inconclusive: Technically the member function 'PY::SuggestionCandidates::processCandidates' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:29:23: note: Technically the member function 'PY::SuggestionCandidates::processCandidates' can be const. ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.h:37:14: note: Technically the member function 'PY::SuggestionCandidates::processCandidates' can be const. 2.17.0 ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.h:39:9: style:inconclusive: Technically the member function 'PY::SuggestionCandidates::selectCandidate' can be const. [functionConst] ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc:72:23: note: Technically the member function 'PY::SuggestionCandidates::selectCandidate' can be const. ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.h:39:9: note: Technically the member function 'PY::SuggestionCandidates::selectCandidate' can be const. head ibus-libpinyin-1.16.1/src/PYPunctEditor.cc:535:11: style: C-style pointer casting [cstyleCast] 2.17.0 ibus-libpinyin-1.16.1/src/PYPunctEditor.cc:535:12: style: C-style pointer casting [cstyleCast] head ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:107:20: performance:inconclusive: Technically the member function 'PY::SimpTradConverter::simpToTrad' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYSimpTradConverter.h:33:10: note: Technically the member function 'PY::SimpTradConverter::simpToTrad' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:107:20: note: Technically the member function 'PY::SimpTradConverter::simpToTrad' can be static (but you may consider moving to unnamed namespace). head ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:130:22: style: C-style pointer casting [cstyleCast] 2.17.0 ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:130:23: style: C-style pointer casting [cstyleCast] head ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:98:24: style: C-style pointer casting [cstyleCast] 2.17.0 ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:98:25: style: C-style pointer casting [cstyleCast] head ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:99:24: style: C-style pointer casting [cstyleCast] 2.17.0 ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:99:25: style: C-style pointer casting [cstyleCast] 2.17.0 ibus-libpinyin-1.16.1/src/PYSimpTradConverter.h:33:10: performance:inconclusive: Technically the member function 'PY::SimpTradConverter::simpToTrad' can be static (but you may consider moving to unnamed namespace). [functionStatic] ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc:107:20: note: Technically the member function 'PY::SimpTradConverter::simpToTrad' can be static (but you may consider moving to unnamed namespace). ibus-libpinyin-1.16.1/src/PYSimpTradConverter.h:33:10: note: Technically the member function 'PY::SimpTradConverter::simpToTrad' can be static (but you may consider moving to unnamed namespace). head ibus-libpinyin-1.16.1/src/PYString.h:144:28: style: C-style pointer casting [cstyleCast] 2.17.0 ibus-libpinyin-1.16.1/src/PYString.h:144:29: style: C-style pointer casting [cstyleCast] 2.17.0 ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:123:43: style: Parameter 'context' can be declared as pointer to const [constParameterPointer] head ibus-libpinyin-1.16.1/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.1/src/PYXMLUtil.cc:69:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:123:43: note: Parameter 'context' can be declared as pointer to const 2.17.0 ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:124:43: style: Parameter 'error' can be declared as pointer to const [constParameterPointer] head ibus-libpinyin-1.16.1/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.1/src/PYXMLUtil.cc:69:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:124:43: note: Parameter 'error' can be declared as pointer to const 2.17.0 ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:125:43: style: Parameter 'user_data' can be declared as pointer to const [constParameterPointer] head ibus-libpinyin-1.16.1/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.1/src/PYXMLUtil.cc:69:5: note: You might need to cast the function pointer here ibus-libpinyin-1.16.1/src/PYXMLUtil.cc:125:43: note: Parameter 'user_data' can be declared as pointer to const DONE