2024-03-26 10:11 ftp://ftp.de.debian.org/debian/pool/main/a/android-platform-system-tools-aidl/android-platform-system-tools-aidl_10.0.0+r36.orig.tar.gz cppcheck-options: --library=posix --library=gnu --showtime=top5 --check-library --inconclusive --enable=style,information --inline-suppr --disable=missingInclude --suppress=unmatchedSuppression --template=daca2 --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=valueFlowBailoutIncompleteVar -D__GNUC__ --platform=unix64 -j4 platform: Linux-6.1.0-0.deb11.6-amd64-x86_64-with-glibc2.31 python: 3.9.2 client-version: 1.3.45 compiler: g++ (Debian 10.2.1-6) 10.2.1 20210110 cppcheck: head 2.13.0 head-info: 82f05c8 (2024-03-25 22:58:58 +0100) count: 253 193 elapsed-time: 0.7 1.4 head-timing-info: Tokenizer::simplifyTokens1::ValueFlow: 0.025701s (avg. 0.025701s - 1 result(s)) valueFlowCondition(SimpleConditionHandler{}, tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 0.008811s (avg. 0.002937s - 3 result(s)) Tokenizer::simplifyTokens1::simplifyTokenList1: 0.007867s (avg. 0.007867s - 1 result(s)) Tokenizer::simplifyTokens1::createSymbolDatabase: 0.006469s (avg. 0.006469s - 1 result(s)) Tokenizer::simplifyTokens1::setValueType: 0.004419s (avg. 0.004419s - 1 result(s)) Overall time: 0.054723s old-timing-info: Tokenizer::simplifyTokens1::ValueFlow: 1.24076s (avg. 1.24076s - 1 result(s)) valueFlowSubFunction(tokenlist, symboldatabase, errorLogger, *settings): 0.703286s (avg. 0.234429s - 3 result(s)) valueFlowLifetime(tokenlist, errorLogger, settings): 0.24384s (avg. 0.06096s - 4 result(s)) valueFlowCondition(SimpleConditionHandler{}, tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 0.146946s (avg. 0.048982s - 3 result(s)) valueFlowAfterAssign(tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 0.109002s (avg. 0.036334s - 3 result(s)) Overall time: 1.33317s head results: aidl_language.h:655:8: style:inconclusive: Technically the member function 'Parser::HasError' can be const. [functionConst] aidl_language.h:661:51: style:inconclusive: Technically the member function 'Parser::GetImports' can be const. [functionConst] aidl_language.h:213:10: warning: The class 'AidlTypeSpecifier' defines member function with name 'ToString' also defined in its parent class 'AidlAnnotatable'. [duplInheritedMember] aidl_language.h:177:15: note: Parent function 'AidlAnnotatable::ToString' aidl_language.h:213:10: note: Derived function 'AidlTypeSpecifier::ToString' aidl_language.h:308:15: warning: The class 'AidlArgument' defines member function with name 'ToString' also defined in its parent class 'AidlVariableDeclaration'. [duplInheritedMember] aidl_language.h:280:15: note: Parent function 'AidlVariableDeclaration::ToString' aidl_language.h:308:15: note: Derived function 'AidlArgument::ToString' aidl_language.h:309:15: warning: The class 'AidlArgument' defines member function with name 'Signature' also defined in its parent class 'AidlVariableDeclaration'. [duplInheritedMember] aidl_language.h:281:15: note: Parent function 'AidlVariableDeclaration::Signature' aidl_language.h:309:15: note: Derived function 'AidlArgument::Signature' aidl_language.h:77:3: style: Class 'AidlNode' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] aidl_language.h:165:3: style: Class 'AidlAnnotatable' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] aidl_language.h:322:3: style: Class 'AidlMember' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] aidl_language.h:143:12: style: The destructor '~AidlAnnotation' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:143:12: note: Destructor in derived class aidl_language.h:169:12: style: The destructor '~AidlAnnotatable' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:169:12: note: Destructor in derived class aidl_language.h:193:12: style: The destructor '~AidlTypeSpecifier' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:169:12: note: Virtual destructor in base class aidl_language.h:193:12: note: Destructor in derived class aidl_language.h:271:12: style: The destructor '~AidlVariableDeclaration' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:271:12: note: Destructor in derived class aidl_language.h:300:12: style: The destructor '~AidlArgument' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:271:12: note: Virtual destructor in base class aidl_language.h:300:12: note: Destructor in derived class aidl_language.h:323:12: style: The destructor '~AidlMember' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:323:12: note: Destructor in derived class aidl_language.h:336:12: style: The destructor '~AidlConstantValue' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:336:12: note: Destructor in derived class aidl_language.h:374:12: style: The destructor '~AidlConstantDeclaration' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:323:12: note: Virtual destructor in base class aidl_language.h:374:12: note: Destructor in derived class aidl_language.h:406:12: style: The destructor '~AidlMethod' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:323:12: note: Virtual destructor in base class aidl_language.h:406:12: note: Destructor in derived class aidl_language.h:470:12: style: The destructor '~AidlQualifiedName' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:470:12: note: Destructor in derived class aidl_language.h:495:12: style: The destructor '~AidlDefinedType' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:169:12: note: Virtual destructor in base class aidl_language.h:495:12: note: Destructor in derived class aidl_language.h:559:12: style: The destructor '~AidlParcelable' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:495:12: note: Virtual destructor in base class aidl_language.h:559:12: note: Destructor in derived class aidl_language.h:607:12: style: The destructor '~AidlInterface' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:495:12: note: Virtual destructor in base class aidl_language.h:607:12: note: Destructor in derived class aidl_language.h:633:12: style: The destructor '~AidlImport' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:633:12: note: Destructor in derived class aidl_language.h:499:38: performance: Function parameter 'comments' should be passed by const reference. [passedByValue] aidl_language.h:666:5: warning:inconclusive: Access of moved variable 'imports_'. [accessMoved] aidl_language.h:665:12: note: Calling std::move(imports_) aidl_language.h:666:5: note: Access of moved variable 'imports_'. aidl_to_cpp_common.cpp:103:42: debug: Function::addArguments found argument 'var_name' with varid 0. [varid0] aidl_to_cpp_common.cpp:110:42: debug: Function::addArguments found argument 'var_name' with varid 0. [varid0] aidl_to_cpp_common.cpp:117:42: debug: Function::addArguments found argument 'var_name' with varid 0. [varid0] aidl_to_cpp_common.cpp:117:57: debug: Function::addArguments found argument 'isNdk' with varid 0. [varid0] aidl_to_cpp_common.cpp:128:42: debug: Function::addArguments found argument 'var_name' with varid 0. [varid0] aidl_to_cpp_common.cpp:135:42: debug: Function::addArguments found argument 'var_name' with varid 0. [varid0] aidl_to_cpp_common.cpp:142:42: debug: Function::addArguments found argument 'var_name' with varid 0. [varid0] aidl_to_cpp_common.cpp:149:42: debug: Function::addArguments found argument 'var_name' with varid 0. [varid0] aidl_to_cpp_common.cpp:156:42: debug: Function::addArguments found argument 'var_name' with varid 0. [varid0] aidl_to_cpp_common.cpp:69:34: performance:inconclusive: Use const reference for 'packages' to avoid unnecessary data copying. [redundantCopyLocalConst] aidl_to_cpp_common.cpp:75:34: performance:inconclusive: Use const reference for 'packages' to avoid unnecessary data copying. [redundantCopyLocalConst] aidl_to_cpp_common.cpp:208:34: performance: Function parameter 'logVarName' should be passed by const reference. [passedByValue] aidl_to_cpp_common.cpp:227:47: performance: Function parameter 'className' should be passed by const reference. [passedByValue] aidl_to_cpp_common.cpp:250:46: performance: Function parameter 'className' should be passed by const reference. [passedByValue] aidl_to_cpp_common.cpp:56:9: style: Consider using std::replace_if algorithm instead of a raw loop. [useStlAlgorithm] options.h:38:3: warning:inconclusive: Member variable 'ErrorMessage::stream_' is not assigned in the copy constructor. Should it be copied? [missingMemberCopy] type_namespace.h:180:8: performance:inconclusive: Technically the member function 'LanguageTypeNamespace < Type >::IsContainerType' can be static (but you may consider moving to unnamed namespace). [functionStatic] type_namespace.h:301:32: note: Technically the member function 'LanguageTypeNamespace < Type >::IsContainerType' can be static (but you may consider moving to unnamed namespace). type_namespace.h:180:8: note: Technically the member function 'LanguageTypeNamespace < Type >::IsContainerType' can be static (but you may consider moving to unnamed namespace). ast_java.h:134:3: style: Struct 'LiteralStatement' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ast_java.h:316:3: style: Struct 'LiteralClassElement' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ast_java.h:65:12: style: The destructor '~ClassElement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:58:12: note: Virtual destructor in base class ast_java.h:65:12: note: Destructor in derived class ast_java.h:69:12: style: The destructor '~Expression' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:58:12: note: Virtual destructor in base class ast_java.h:69:12: note: Destructor in derived class ast_java.h:76:12: style: The destructor '~LiteralExpression' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:76:12: note: Destructor in derived class ast_java.h:85:12: style: The destructor '~StringLiteralExpression' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:85:12: note: Destructor in derived class ast_java.h:97:12: style: The destructor '~Variable' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:97:12: note: Destructor in derived class ast_java.h:100:8: style: The function 'Write' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:59:16: note: Virtual function in base class ast_java.h:100:8: note: Function in derived class ast_java.h:109:12: style: The destructor '~FieldVariable' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:109:12: note: Destructor in derived class ast_java.h:111:8: style: The function 'Write' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:59:16: note: Virtual function in base class ast_java.h:111:8: note: Function in derived class ast_java.h:123:12: style: The destructor '~Field' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:65:12: note: Virtual destructor in base class ast_java.h:123:12: note: Destructor in derived class ast_java.h:129:12: style: The destructor '~Statement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:58:12: note: Virtual destructor in base class ast_java.h:129:12: note: Destructor in derived class ast_java.h:135:12: style: The destructor '~LiteralStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:135:12: note: Destructor in derived class ast_java.h:146:12: style: The destructor '~StatementBlock' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:146:12: note: Destructor in derived class ast_java.h:157:12: style: The destructor '~ExpressionStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:157:12: note: Destructor in derived class ast_java.h:168:12: style: The destructor '~Assignment' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:168:12: note: Destructor in derived class ast_java.h:184:12: style: The destructor '~MethodCall' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:184:12: note: Destructor in derived class ast_java.h:197:12: style: The destructor '~Comparison' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:197:12: note: Destructor in derived class ast_java.h:207:12: style: The destructor '~NewExpression' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:207:12: note: Destructor in derived class ast_java.h:219:12: style: The destructor '~NewArrayExpression' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:219:12: note: Destructor in derived class ast_java.h:229:12: style: The destructor '~Cast' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:229:12: note: Destructor in derived class ast_java.h:239:12: style: The destructor '~VariableDeclaration' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:239:12: note: Destructor in derived class ast_java.h:249:12: style: The destructor '~IfStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:249:12: note: Destructor in derived class ast_java.h:257:12: style: The destructor '~ReturnStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:257:12: note: Destructor in derived class ast_java.h:265:12: style: The destructor '~TryStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:265:12: note: Destructor in derived class ast_java.h:273:12: style: The destructor '~FinallyStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:273:12: note: Destructor in derived class ast_java.h:283:12: style: The destructor '~Case' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:58:12: note: Virtual destructor in base class ast_java.h:283:12: note: Destructor in derived class ast_java.h:292:12: style: The destructor '~SwitchStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:292:12: note: Destructor in derived class ast_java.h:308:12: style: The destructor '~Method' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:65:12: note: Virtual destructor in base class ast_java.h:308:12: note: Destructor in derived class ast_java.h:317:12: style: The destructor '~LiteralClassElement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:65:12: note: Virtual destructor in base class ast_java.h:317:12: note: Destructor in derived class ast_java.h:335:12: style: The destructor '~Class' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:65:12: note: Virtual destructor in base class ast_java.h:335:12: note: Destructor in derived class ast_java.h:345:12: style: The destructor '~Document' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:58:12: note: Virtual destructor in base class ast_java.h:345:12: note: Destructor in derived class type_java.h:42:12: style: The destructor '~Type' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] type_namespace.h:58:12: note: Virtual destructor in base class type_java.h:42:12: note: Destructor in derived class type_java.h:288:12: style: The destructor '~JavaTypeNamespace' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] type_namespace.h:138:12: note: Virtual destructor in base class type_java.h:288:12: note: Destructor in derived class type_namespace.h:138:12: style: The destructor '~LanguageTypeNamespace < Type >' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] type_namespace.h:124:12: note: Virtual destructor in base class type_namespace.h:138:12: note: Destructor in derived class type_namespace.h:242:24: style:inconclusive: Function 'FindTypeByCanonicalName' argument 1 names different: declaration 'name' definition 'raw_name'. [funcArgNamesDifferent] type_namespace.h:147:55: note: Function 'FindTypeByCanonicalName' argument 1 names different: declaration 'name' definition 'raw_name'. type_namespace.h:242:24: note: Function 'FindTypeByCanonicalName' argument 1 names different: declaration 'name' definition 'raw_name'. type_namespace.h:363:30: style:inconclusive: Function 'GetValidatableType' argument 1 names different: declaration 'type' definition 'aidl_type'. [funcArgNamesDifferent] type_namespace.h:182:70: note: Function 'GetValidatableType' argument 1 names different: declaration 'type' definition 'aidl_type'. type_namespace.h:363:30: note: Function 'GetValidatableType' argument 1 names different: declaration 'type' definition 'aidl_type'. ast_java.h:316:35: performance: Function parameter 'e' should be passed by const reference. [passedByValue] aidl_language.cpp:162:27: warning: The class 'AidlTypeSpecifier' defines member function with name 'ToString' also defined in its parent class 'AidlAnnotatable'. [duplInheritedMember] aidl_language.cpp:135:25: note: Parent function 'AidlAnnotatable::ToString' aidl_language.cpp:162:27: note: Derived function 'AidlTypeSpecifier::ToString' aidl_language.cpp:314:22: warning: The class 'AidlArgument' defines member function with name 'ToString' also defined in its parent class 'AidlVariableDeclaration'. [duplInheritedMember] aidl_language.cpp:264:33: note: Parent function 'AidlVariableDeclaration::ToString' aidl_language.cpp:314:22: note: Derived function 'AidlArgument::ToString' aidl_language.cpp:318:27: warning: The class 'AidlArgument' defines member function with name 'Signature' also defined in its parent class 'AidlVariableDeclaration'. [duplInheritedMember] aidl_language.cpp:272:33: note: Parent function 'AidlVariableDeclaration::Signature' aidl_language.cpp:318:27: note: Derived function 'AidlArgument::Signature' aidl_language.h:116:3: style: Class 'AidlError' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] aidl_language.cpp:532:69: style:inconclusive: Function 'AidlConstantDeclaration' argument 2 names different: declaration 'specifier' definition 'type'. [funcArgNamesDifferent] aidl_language.h:372:76: note: Function 'AidlConstantDeclaration' argument 2 names different: declaration 'specifier' definition 'type'. aidl_language.cpp:532:69: note: Function 'AidlConstantDeclaration' argument 2 names different: declaration 'specifier' definition 'type'. aidl_language.cpp:685:64: style:inconclusive: Function 'AidlInterface' argument 4 names different: declaration 'oneway_' definition 'oneway'. [funcArgNamesDifferent] aidl_language.h:605:22: note: Function 'AidlInterface' argument 4 names different: declaration 'oneway_' definition 'oneway'. aidl_language.cpp:685:64: note: Function 'AidlInterface' argument 4 names different: declaration 'oneway_' definition 'oneway'. aidl_language.cpp:186:63: style: Parameter 'typenames' can be declared as reference to const [constParameterReference] aidl_language.cpp:105:3: style: Consider using std::any_of algorithm instead of a raw loop. [useStlAlgorithm] aidl_language.cpp:138:9: style: Consider using std::transform algorithm instead of a raw loop. [useStlAlgorithm] aidl_language.cpp:167:17: style: Consider using std::transform algorithm instead of a raw loop. [useStlAlgorithm] aidl_language.cpp:590:20: style: Consider using std::transform algorithm instead of a raw loop. [useStlAlgorithm] aidl_language.cpp:598:17: style: Consider using std::transform algorithm instead of a raw loop. [useStlAlgorithm] aidl_language.cpp:638:3: style: Consider using std::all_of or std::none_of algorithm instead of a raw loop. [useStlAlgorithm] aidl_language.cpp:675:3: style: Consider using std::all_of or std::none_of algorithm instead of a raw loop. [useStlAlgorithm] aidl_to_ndk.cpp:255:9: warning: Either the condition 'type==nullptr' is redundant or there is possible null pointer dereference: type. [nullPointerRedundantCheck] aidl_to_ndk.cpp:253:5: note: Assuming that condition 'type==nullptr' is not redundant aidl_to_ndk.cpp:255:9: note: Null pointer dereference aidl_to_ndk.cpp:267:19: warning: Either the condition 'info.nullable_array==nullptr' is redundant or there is possible null pointer dereference: info.nullable_array. [nullPointerRedundantCheck] aidl_to_ndk.cpp:266:7: note: Assuming that condition 'info.nullable_array==nullptr' is not redundant aidl_to_ndk.cpp:267:19: note: Null pointer dereference aidl_to_ndk.cpp:270:17: warning: Either the condition 'info.array==nullptr' is redundant or there is possible null pointer dereference: info.array. [nullPointerRedundantCheck] aidl_to_ndk.cpp:269:5: note: Assuming that condition 'info.array==nullptr' is not redundant aidl_to_ndk.cpp:270:17: note: Null pointer dereference aidl_to_ndk.cpp:275:17: warning: Either the condition 'info.nullable==nullptr' is redundant or there is possible null pointer dereference: info.nullable. [nullPointerRedundantCheck] aidl_to_ndk.cpp:274:5: note: Assuming that condition 'info.nullable==nullptr' is not redundant aidl_to_ndk.cpp:275:17: note: Null pointer dereference aidl_to_cpp_common.h:52:47: performance: Function parameter 'className' should be passed by const reference. [passedByValue] aidl_to_cpp_common.h:54:46: performance: Function parameter 'className' should be passed by const reference. [passedByValue] aidl_to_java.cpp:85:17: style: Consider using std::transform algorithm instead of a raw loop. [useStlAlgorithm] aidl_typenames.cpp:76:3: style: Consider using std::all_of or std::none_of algorithm instead of a raw loop. [useStlAlgorithm] aidl_typenames.cpp:132:45: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] aidl_typenames.cpp:138:45: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] ast_cpp_unittest.cpp:104:1: error: syntax error [syntaxError] aidl_unittest.cpp:187:1: error: syntax error [syntaxError] ast_java.cpp:25:13: debug: simplifyOperatorName: found unsimplified operator name [debug] ast_cpp.h:40:15: style:inconclusive: Technically the member function 'android::aidl::cpp::AstNode::ToString' can be const. [functionConst] ast_cpp.cpp:32:22: note: Technically the member function 'android::aidl::cpp::AstNode::ToString' can be const. ast_cpp.h:40:15: note: Technically the member function 'android::aidl::cpp::AstNode::ToString' can be const. ast_cpp.h:46:12: style: The destructor '~Declaration' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:46:12: note: Destructor in derived class ast_cpp.h:55:4: style: The destructor '~LiteralDecl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:55:4: note: Destructor in derived class ast_cpp.h:72:12: style: The destructor '~ClassDecl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:72:12: note: Destructor in derived class ast_cpp.h:92:12: style: The destructor '~Enum' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:92:12: note: Destructor in derived class ast_cpp.h:120:12: style: The destructor '~ArgList' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:120:12: note: Destructor in derived class ast_cpp.h:144:12: style: The destructor '~ConstructorDecl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:144:12: note: Destructor in derived class ast_cpp.h:159:12: style: The destructor '~MacroDecl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:159:12: note: Destructor in derived class ast_cpp.h:188:12: style: The destructor '~MethodDecl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:188:12: note: Destructor in derived class ast_cpp.h:209:12: style: The destructor '~StatementBlock' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:209:12: note: Destructor in derived class ast_cpp.h:229:12: style: The destructor '~ConstructorImpl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:229:12: note: Destructor in derived class ast_cpp.h:251:12: style: The destructor '~MethodImpl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:251:12: note: Destructor in derived class ast_cpp.h:271:12: style: The destructor '~SwitchStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:271:12: note: Destructor in derived class ast_cpp.h:293:4: style: The destructor '~Assignment' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:293:4: note: Destructor in derived class ast_cpp.h:308:4: style: The destructor '~MethodCall' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:308:4: note: Destructor in derived class ast_cpp.h:322:12: style: The destructor '~IfStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:322:12: note: Destructor in derived class ast_cpp.h:341:4: style: The destructor '~Statement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:341:4: note: Destructor in derived class ast_cpp.h:353:4: style: The destructor '~Comparison' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:353:4: note: Destructor in derived class ast_cpp.h:367:4: style: The destructor '~LiteralExpression' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:367:4: note: Destructor in derived class ast_cpp.h:383:12: style: The destructor '~CppNamespace' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:383:12: note: Destructor in derived class ast_cpp.cpp:237:52: style:inconclusive: Function 'AddLiteral' argument 1 names different: declaration 'expression' definition 'expression_str'. [funcArgNamesDifferent] ast_cpp.h:213:38: note: Function 'AddLiteral' argument 1 names different: declaration 'expression' definition 'expression_str'. ast_cpp.cpp:237:52: note: Function 'AddLiteral' argument 1 names different: declaration 'expression' definition 'expression_str'. ast_cpp.cpp:127:16: style: Consider using std::transform algorithm instead of a raw loop. [useStlAlgorithm] ast_java_unittest.cpp:41:1: error: syntax error [syntaxError] code_writer.cpp:121:10: style: Virtual function 'Close' is called from destructor '~StringCodeWriter()' at line 120. Dynamic binding is not used. [virtualCallInConstructor] code_writer.cpp:120:36: note: Calling Close code_writer.cpp:121:10: note: Close is a virtual function code_writer.h:55:3: style: Class 'CodeWriter' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] code_writer.cpp:118:5: style: Class 'StringCodeWriter' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] code_writer_unittest.cpp:38:1: error: syntax error [syntaxError] ast_java.h:60:15: style:inconclusive: Technically the member function 'android::aidl::java::AstNode::ToString' can be const. [functionConst] ast_java.cpp:34:22: note: Technically the member function 'android::aidl::java::AstNode::ToString' can be const. ast_java.h:60:15: note: Technically the member function 'android::aidl::java::AstNode::ToString' can be const. ast_java.cpp:209:30: style: C-style pointer casting [cstyleCast] ast_java.cpp:249:30: style: C-style pointer casting [cstyleCast] ast_java.cpp:78:18: style:inconclusive: Function 'Field' argument 1 names different: declaration 'modifiers' definition 'm'. [funcArgNamesDifferent] ast_java.h:122:13: note: Function 'Field' argument 1 names different: declaration 'modifiers' definition 'm'. ast_java.cpp:78:18: note: Function 'Field' argument 1 names different: declaration 'modifiers' definition 'm'. ast_java.cpp:78:31: style:inconclusive: Function 'Field' argument 2 names different: declaration 'variable' definition 'v'. [funcArgNamesDifferent] ast_java.h:122:34: note: Function 'Field' argument 2 names different: declaration 'variable' definition 'v'. ast_java.cpp:78:31: note: Function 'Field' argument 2 names different: declaration 'variable' definition 'v'. ast_java.cpp:96:52: style:inconclusive: Function 'LiteralExpression' argument 1 names different: declaration 'value' definition 'v'. [funcArgNamesDifferent] ast_java.h:75:49: note: Function 'LiteralExpression' argument 1 names different: declaration 'value' definition 'v'. ast_java.cpp:96:52: note: Function 'LiteralExpression' argument 1 names different: declaration 'value' definition 'v'. ast_java.cpp:102:64: style:inconclusive: Function 'StringLiteralExpression' argument 1 names different: declaration 'value' definition 'v'. [funcArgNamesDifferent] ast_java.h:84:55: note: Function 'StringLiteralExpression' argument 1 names different: declaration 'value' definition 'v'. ast_java.cpp:102:64: note: Function 'StringLiteralExpression' argument 1 names different: declaration 'value' definition 'v'. ast_java.cpp:108:34: style:inconclusive: Function 'Variable' argument 1 names different: declaration 'type' definition 't'. [funcArgNamesDifferent] ast_java.h:95:31: note: Function 'Variable' argument 1 names different: declaration 'type' definition 't'. ast_java.cpp:108:34: note: Function 'Variable' argument 1 names different: declaration 'type' definition 't'. ast_java.cpp:108:51: style:inconclusive: Function 'Variable' argument 2 names different: declaration 'name' definition 'n'. [funcArgNamesDifferent] ast_java.h:95:56: note: Function 'Variable' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:108:51: note: Function 'Variable' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:110:34: style:inconclusive: Function 'Variable' argument 1 names different: declaration 'type' definition 't'. [funcArgNamesDifferent] ast_java.h:96:31: note: Function 'Variable' argument 1 names different: declaration 'type' definition 't'. ast_java.cpp:110:34: note: Function 'Variable' argument 1 names different: declaration 'type' definition 't'. ast_java.cpp:110:51: style:inconclusive: Function 'Variable' argument 2 names different: declaration 'name' definition 'n'. [funcArgNamesDifferent] ast_java.h:96:56: note: Function 'Variable' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:110:51: note: Function 'Variable' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:110:58: style:inconclusive: Function 'Variable' argument 3 names different: declaration 'dimension' definition 'd'. [funcArgNamesDifferent] ast_java.h:96:66: note: Function 'Variable' argument 3 names different: declaration 'dimension' definition 'd'. ast_java.cpp:110:58: note: Function 'Variable' argument 3 names different: declaration 'dimension' definition 'd'. ast_java.cpp:122:42: style:inconclusive: Function 'FieldVariable' argument 1 names different: declaration 'object' definition 'o'. [funcArgNamesDifferent] ast_java.h:107:29: note: Function 'FieldVariable' argument 1 names different: declaration 'object' definition 'o'. ast_java.cpp:122:42: note: Function 'FieldVariable' argument 1 names different: declaration 'object' definition 'o'. ast_java.cpp:122:59: style:inconclusive: Function 'FieldVariable' argument 2 names different: declaration 'name' definition 'n'. [funcArgNamesDifferent] ast_java.h:107:56: note: Function 'FieldVariable' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:122:59: note: Function 'FieldVariable' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:124:44: style:inconclusive: Function 'FieldVariable' argument 1 names different: declaration 'clazz' definition 'c'. [funcArgNamesDifferent] ast_java.h:108:36: note: Function 'FieldVariable' argument 1 names different: declaration 'clazz' definition 'c'. ast_java.cpp:124:44: note: Function 'FieldVariable' argument 1 names different: declaration 'clazz' definition 'c'. ast_java.cpp:124:61: style:inconclusive: Function 'FieldVariable' argument 2 names different: declaration 'name' definition 'n'. [funcArgNamesDifferent] ast_java.h:108:62: note: Function 'FieldVariable' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:124:61: note: Function 'FieldVariable' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:159:54: style:inconclusive: Function 'ExpressionStatement' argument 1 names different: declaration 'expression' definition 'e'. [funcArgNamesDifferent] ast_java.h:156:44: note: Function 'ExpressionStatement' argument 1 names different: declaration 'expression' definition 'e'. ast_java.cpp:159:54: note: Function 'ExpressionStatement' argument 1 names different: declaration 'expression' definition 'e'. ast_java.cpp:166:34: style:inconclusive: Function 'Assignment' argument 1 names different: declaration 'lvalue' definition 'l'. [funcArgNamesDifferent] ast_java.h:166:24: note: Function 'Assignment' argument 1 names different: declaration 'lvalue' definition 'l'. ast_java.cpp:166:34: note: Function 'Assignment' argument 1 names different: declaration 'lvalue' definition 'l'. ast_java.cpp:166:49: style:inconclusive: Function 'Assignment' argument 2 names different: declaration 'rvalue' definition 'r'. [funcArgNamesDifferent] ast_java.h:166:44: note: Function 'Assignment' argument 2 names different: declaration 'rvalue' definition 'r'. ast_java.cpp:166:49: note: Function 'Assignment' argument 2 names different: declaration 'rvalue' definition 'r'. ast_java.cpp:168:34: style:inconclusive: Function 'Assignment' argument 1 names different: declaration 'lvalue' definition 'l'. [funcArgNamesDifferent] ast_java.h:167:24: note: Function 'Assignment' argument 1 names different: declaration 'lvalue' definition 'l'. ast_java.cpp:168:34: note: Function 'Assignment' argument 1 names different: declaration 'lvalue' definition 'l'. ast_java.cpp:168:49: style:inconclusive: Function 'Assignment' argument 2 names different: declaration 'rvalue' definition 'r'. [funcArgNamesDifferent] ast_java.h:167:44: note: Function 'Assignment' argument 2 names different: declaration 'rvalue' definition 'r'. ast_java.cpp:168:49: note: Function 'Assignment' argument 2 names different: declaration 'rvalue' definition 'r'. ast_java.cpp:168:59: style:inconclusive: Function 'Assignment' argument 3 names different: declaration 'cast' definition 'c'. [funcArgNamesDifferent] ast_java.h:167:64: note: Function 'Assignment' argument 3 names different: declaration 'cast' definition 'c'. ast_java.cpp:168:59: note: Function 'Assignment' argument 3 names different: declaration 'cast' definition 'c'. ast_java.cpp:179:38: style:inconclusive: Function 'MethodCall' argument 1 names different: declaration 'name' definition 'n'. [funcArgNamesDifferent] ast_java.h:178:42: note: Function 'MethodCall' argument 1 names different: declaration 'name' definition 'n'. ast_java.cpp:179:38: note: Function 'MethodCall' argument 1 names different: declaration 'name' definition 'n'. ast_java.cpp:181:38: style:inconclusive: Function 'MethodCall' argument 1 names different: declaration 'name' definition 'n'. [funcArgNamesDifferent] ast_java.h:179:33: note: Function 'MethodCall' argument 1 names different: declaration 'name' definition 'n'. ast_java.cpp:181:38: note: Function 'MethodCall' argument 1 names different: declaration 'name' definition 'n'. ast_java.cpp:188:36: style:inconclusive: Function 'MethodCall' argument 1 names different: declaration 'obj' definition 'o'. [funcArgNamesDifferent] ast_java.h:180:26: note: Function 'MethodCall' argument 1 names different: declaration 'obj' definition 'o'. ast_java.cpp:188:36: note: Function 'MethodCall' argument 1 names different: declaration 'obj' definition 'o'. ast_java.cpp:188:53: style:inconclusive: Function 'MethodCall' argument 2 names different: declaration 'name' definition 'n'. [funcArgNamesDifferent] ast_java.h:180:50: note: Function 'MethodCall' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:188:53: note: Function 'MethodCall' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:190:43: style:inconclusive: Function 'MethodCall' argument 1 names different: declaration 'clazz' definition 't'. [funcArgNamesDifferent] ast_java.h:181:33: note: Function 'MethodCall' argument 1 names different: declaration 'clazz' definition 't'. ast_java.cpp:190:43: note: Function 'MethodCall' argument 1 names different: declaration 'clazz' definition 't'. ast_java.cpp:190:60: style:inconclusive: Function 'MethodCall' argument 2 names different: declaration 'name' definition 'n'. [funcArgNamesDifferent] ast_java.h:181:59: note: Function 'MethodCall' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:190:60: note: Function 'MethodCall' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:192:36: style:inconclusive: Function 'MethodCall' argument 1 names different: declaration 'obj' definition 'o'. [funcArgNamesDifferent] ast_java.h:182:26: note: Function 'MethodCall' argument 1 names different: declaration 'obj' definition 'o'. ast_java.cpp:192:36: note: Function 'MethodCall' argument 1 names different: declaration 'obj' definition 'o'. ast_java.cpp:192:53: style:inconclusive: Function 'MethodCall' argument 2 names different: declaration 'name' definition 'n'. [funcArgNamesDifferent] ast_java.h:182:50: note: Function 'MethodCall' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:192:53: note: Function 'MethodCall' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:199:60: style:inconclusive: Function 'MethodCall' argument 2 names different: declaration 'name' definition 'n'. [funcArgNamesDifferent] ast_java.h:183:53: note: Function 'MethodCall' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:199:60: note: Function 'MethodCall' argument 2 names different: declaration 'name' definition 'n'. ast_java.cpp:227:36: style:inconclusive: Function 'Comparison' argument 1 names different: declaration 'lvalue' definition 'l'. [funcArgNamesDifferent] ast_java.h:196:26: note: Function 'Comparison' argument 1 names different: declaration 'lvalue' definition 'l'. ast_java.cpp:227:36: note: Function 'Comparison' argument 1 names different: declaration 'lvalue' definition 'l'. ast_java.cpp:227:53: style:inconclusive: Function 'Comparison' argument 2 names different: declaration 'op' definition 'o'. [funcArgNamesDifferent] ast_java.h:196:53: note: Function 'Comparison' argument 2 names different: declaration 'op' definition 'o'. ast_java.cpp:227:53: note: Function 'Comparison' argument 2 names different: declaration 'op' definition 'o'. ast_java.cpp:227:68: style:inconclusive: Function 'Comparison' argument 3 names different: declaration 'rvalue' definition 'r'. [funcArgNamesDifferent] ast_java.h:196:69: note: Function 'Comparison' argument 3 names different: declaration 'rvalue' definition 'r'. ast_java.cpp:227:68: note: Function 'Comparison' argument 3 names different: declaration 'rvalue' definition 'r'. ast_java.cpp:238:49: style:inconclusive: Function 'NewExpression' argument 1 names different: declaration 'name' definition 'n'. [funcArgNamesDifferent] ast_java.h:205:45: note: Function 'NewExpression' argument 1 names different: declaration 'name' definition 'n'. ast_java.cpp:238:49: note: Function 'NewExpression' argument 1 names different: declaration 'name' definition 'n'. ast_java.cpp:240:49: style:inconclusive: Function 'NewExpression' argument 1 names different: declaration 'name' definition 'n'. [funcArgNamesDifferent] ast_java.h:206:36: note: Function 'NewExpression' argument 1 names different: declaration 'name' definition 'n'. ast_java.cpp:240:49: note: Function 'NewExpression' argument 1 names different: declaration 'name' definition 'n'. ast_java.cpp:260:59: style:inconclusive: Function 'NewArrayExpression' argument 1 names different: declaration 'type' definition 't'. [funcArgNamesDifferent] ast_java.h:218:41: note: Function 'NewArrayExpression' argument 1 names different: declaration 'type' definition 't'. ast_java.cpp:260:59: note: Function 'NewArrayExpression' argument 1 names different: declaration 'type' definition 't'. ast_java.cpp:260:74: style:inconclusive: Function 'NewArrayExpression' argument 2 names different: declaration 'size' definition 's'. [funcArgNamesDifferent] ast_java.h:218:59: note: Function 'NewArrayExpression' argument 2 names different: declaration 'size' definition 's'. ast_java.cpp:260:74: note: Function 'NewArrayExpression' argument 2 names different: declaration 'size' definition 's'. ast_java.cpp:268:31: style:inconclusive: Function 'Cast' argument 1 names different: declaration 'type' definition 't'. [funcArgNamesDifferent] ast_java.h:228:27: note: Function 'Cast' argument 1 names different: declaration 'type' definition 't'. ast_java.cpp:268:31: note: Function 'Cast' argument 1 names different: declaration 'type' definition 't'. ast_java.cpp:268:46: style:inconclusive: Function 'Cast' argument 2 names different: declaration 'expression' definition 'e'. [funcArgNamesDifferent] ast_java.h:228:45: note: Function 'Cast' argument 2 names different: declaration 'expression' definition 'e'. ast_java.cpp:268:46: note: Function 'Cast' argument 2 names different: declaration 'expression' definition 'e'. ast_java.cpp:276:52: style:inconclusive: Function 'VariableDeclaration' argument 1 names different: declaration 'lvalue' definition 'l'. [funcArgNamesDifferent] ast_java.h:238:33: note: Function 'VariableDeclaration' argument 1 names different: declaration 'lvalue' definition 'l'. ast_java.cpp:276:52: note: Function 'VariableDeclaration' argument 1 names different: declaration 'lvalue' definition 'l'. ast_java.cpp:276:67: style:inconclusive: Function 'VariableDeclaration' argument 2 names different: declaration 'rvalue' definition 'r'. [funcArgNamesDifferent] ast_java.h:238:53: note: Function 'VariableDeclaration' argument 2 names different: declaration 'rvalue' definition 'r'. ast_java.cpp:276:67: note: Function 'VariableDeclaration' argument 2 names different: declaration 'rvalue' definition 'r'. ast_java.cpp:278:52: style:inconclusive: Function 'VariableDeclaration' argument 1 names different: declaration 'lvalue' definition 'l'. [funcArgNamesDifferent] ast_java.h:237:42: note: Function 'VariableDeclaration' argument 1 names different: declaration 'lvalue' definition 'l'. ast_java.cpp:278:52: note: Function 'VariableDeclaration' argument 1 names different: declaration 'lvalue' definition 'l'. ast_java.cpp:302:46: style:inconclusive: Function 'ReturnStatement' argument 1 names different: declaration 'expression' definition 'e'. [funcArgNamesDifferent] ast_java.h:256:40: note: Function 'ReturnStatement' argument 1 names different: declaration 'expression' definition 'e'. ast_java.cpp:302:46: note: Function 'ReturnStatement' argument 1 names different: declaration 'expression' definition 'e'. ast_java.cpp:339:46: style:inconclusive: Function 'SwitchStatement' argument 1 names different: declaration 'expression' definition 'e'. [funcArgNamesDifferent] ast_java.h:291:40: note: Function 'SwitchStatement' argument 1 names different: declaration 'expression' definition 'e'. ast_java.cpp:339:46: note: Function 'SwitchStatement' argument 1 names different: declaration 'expression' definition 'e'. ast_java.cpp:168:59: performance: Function parameter 'c' should be passed by const reference. [passedByValue] ast_java.cpp:128:34: style: Parameter 'e' can be declared as pointer to const [constParameterPointer] ast_java.cpp:216:34: style: Parameter 'e' can be declared as pointer to const [constParameterPointer] generate_cpp_unittest.cpp:1426:1: error: syntax error [syntaxError] generate_aidl_mappings.cpp:30:55: style:inconclusive: Function 'generate_mappings' argument 1 names different: declaration 'iface' definition 'defined_type'. [funcArgNamesDifferent] generate_aidl_mappings.h:29:55: note: Function 'generate_mappings' argument 1 names different: declaration 'iface' definition 'defined_type'. generate_aidl_mappings.cpp:30:55: note: Function 'generate_mappings' argument 1 names different: declaration 'iface' definition 'defined_type'. type_cpp.h:45:12: style: The destructor '~Type' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] type_namespace.h:58:12: note: Virtual destructor in base class type_cpp.h:45:12: note: Destructor in derived class type_cpp.h:91:12: style: The destructor '~TypeNamespace' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] type_namespace.h:138:12: note: Virtual destructor in base class type_cpp.h:91:12: note: Destructor in derived class aidl.cpp:95:17: style: The scope of the variable 'p' can be reduced. [variableScope] aidl.cpp:118:23: performance:inconclusive: Use const reference for 'name' to avoid unnecessary data copying. [redundantCopyLocalConst] aidl.cpp:594:22: style: Variable 'interface' can be declared as pointer to const [constVariablePointer] aidl.cpp:595:33: style: Variable 'parcelable' can be declared as pointer to const [constVariablePointer] aidl.cpp:231:17: style: Consider using std::copy algorithm instead of a raw loop. [useStlAlgorithm] aidl.cpp:836:69: style: Consider using std::any_of algorithm instead of a raw loop. [useStlAlgorithm] aidl.cpp:853:3: style: Consider using std::all_of or std::none_of algorithm instead of a raw loop. [useStlAlgorithm] generate_java.cpp:66:72: style:inconclusive: Function 'generate_java' argument 2 names different: declaration 'iface' definition 'defined_type'. [funcArgNamesDifferent] generate_java.h:31:72: note: Function 'generate_java' argument 2 names different: declaration 'iface' definition 'defined_type'. generate_java.cpp:66:72: note: Function 'generate_java' argument 2 names different: declaration 'iface' definition 'defined_type'. generate_java.cpp:44:13: style: Variable 'document' can be declared as pointer to const [constVariablePointer] generate_java.cpp:57:13: style: Variable 'document' can be declared as pointer to const [constVariablePointer] type_namespace.h:180:8: performance:inconclusive: Technically the member function 'android::aidl::LanguageTypeNamespace::IsContainerType' can be static (but you may consider moving to unnamed namespace). [functionStatic] type_namespace.h:301:32: note: Technically the member function 'android::aidl::LanguageTypeNamespace::IsContainerType' can be static (but you may consider moving to unnamed namespace). type_namespace.h:180:8: note: Technically the member function 'android::aidl::LanguageTypeNamespace::IsContainerType' can be static (but you may consider moving to unnamed namespace). type_namespace.h:138:12: style: The destructor '~LanguageTypeNamespace' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] type_namespace.h:124:12: note: Virtual destructor in base class type_namespace.h:138:12: note: Destructor in derived class generate_cpp.cpp:745:25: style: Condition 'value.GetType()!=AidlConstantValue::Type::STRING' is always true [knownConditionTrueFalse] generate_cpp.cpp:745:22: note: Calling function 'GetType' returns 0 generate_cpp.cpp:745:25: note: Condition 'value.GetType()!=AidlConstantValue::Type::STRING' is always true generate_cpp.cpp:434:89: style:inconclusive: Function 'BuildClientSource' argument 2 names different: declaration 'parsed_doc' definition 'interface'. [funcArgNamesDifferent] generate_cpp.h:38:66: note: Function 'BuildClientSource' argument 2 names different: declaration 'parsed_doc' definition 'interface'. generate_cpp.cpp:434:89: note: Function 'BuildClientSource' argument 2 names different: declaration 'parsed_doc' definition 'interface'. generate_cpp.cpp:630:89: style:inconclusive: Function 'BuildServerSource' argument 2 names different: declaration 'parsed_doc' definition 'interface'. [funcArgNamesDifferent] generate_cpp.h:41:66: note: Function 'BuildServerSource' argument 2 names different: declaration 'parsed_doc' definition 'interface'. generate_cpp.cpp:630:89: note: Function 'BuildServerSource' argument 2 names different: declaration 'parsed_doc' definition 'interface'. generate_cpp.cpp:724:64: style:inconclusive: Function 'BuildInterfaceSource' argument 2 names different: declaration 'parsed_doc' definition 'interface'. [funcArgNamesDifferent] generate_cpp.h:44:69: note: Function 'BuildInterfaceSource' argument 2 names different: declaration 'parsed_doc' definition 'interface'. generate_cpp.cpp:724:64: note: Function 'BuildInterfaceSource' argument 2 names different: declaration 'parsed_doc' definition 'interface'. generate_cpp.cpp:797:89: style:inconclusive: Function 'BuildClientHeader' argument 2 names different: declaration 'parsed_doc' definition 'interface'. [funcArgNamesDifferent] generate_cpp.h:47:66: note: Function 'BuildClientHeader' argument 2 names different: declaration 'parsed_doc' definition 'interface'. generate_cpp.cpp:797:89: note: Function 'BuildClientHeader' argument 2 names different: declaration 'parsed_doc' definition 'interface'. generate_cpp.cpp:855:61: style:inconclusive: Function 'BuildServerHeader' argument 2 names different: declaration 'parsed_doc' definition 'interface'. [funcArgNamesDifferent] generate_cpp.h:50:66: note: Function 'BuildServerHeader' argument 2 names different: declaration 'parsed_doc' definition 'interface'. generate_cpp.cpp:855:61: note: Function 'BuildServerHeader' argument 2 names different: declaration 'parsed_doc' definition 'interface'. generate_cpp.cpp:899:64: style:inconclusive: Function 'BuildInterfaceHeader' argument 2 names different: declaration 'parsed_doc' definition 'interface'. [funcArgNamesDifferent] generate_cpp.h:53:69: note: Function 'BuildInterfaceHeader' argument 2 names different: declaration 'parsed_doc' definition 'interface'. generate_cpp.cpp:899:64: note: Function 'BuildInterfaceHeader' argument 2 names different: declaration 'parsed_doc' definition 'interface'. generate_cpp.cpp:1006:77: style:inconclusive: Function 'BuildParcelHeader' argument 2 names different: declaration 'parsed_doc' definition 'parcel'. [funcArgNamesDifferent] generate_cpp.h:57:77: note: Function 'BuildParcelHeader' argument 2 names different: declaration 'parsed_doc' definition 'parcel'. generate_cpp.cpp:1006:77: note: Function 'BuildParcelHeader' argument 2 names different: declaration 'parsed_doc' definition 'parcel'. generate_cpp.cpp:1044:77: style:inconclusive: Function 'BuildParcelSource' argument 2 names different: declaration 'parsed_doc' definition 'parcel'. [funcArgNamesDifferent] generate_cpp.h:60:77: note: Function 'BuildParcelSource' argument 2 names different: declaration 'parsed_doc' definition 'parcel'. generate_cpp.cpp:1044:77: note: Function 'BuildParcelSource' argument 2 names different: declaration 'parsed_doc' definition 'parcel'. generate_cpp.cpp:1226:41: style:inconclusive: Function 'GenerateCpp' argument 4 names different: declaration 'parsed_doc' definition 'defined_type'. [funcArgNamesDifferent] generate_cpp.h:34:41: note: Function 'GenerateCpp' argument 4 names different: declaration 'parsed_doc' definition 'defined_type'. generate_cpp.cpp:1226:41: note: Function 'GenerateCpp' argument 4 names different: declaration 'parsed_doc' definition 'defined_type'. generate_cpp.cpp:278:21: style: Local variable 'method' shadows outer argument [shadowArgument] generate_cpp.cpp:230:67: note: Shadowed declaration generate_cpp.cpp:278:21: note: Shadow variable generate_cpp.cpp:365:12: style: Local variable 'method' shadows outer argument [shadowArgument] generate_cpp.cpp:230:67: note: Shadowed declaration generate_cpp.cpp:365:12: note: Shadow variable generate_cpp.cpp:1020:9: performance: Passing the result of c_str() to a stream is slow and redundant. [stlcstrStream] generate_cpp.cpp:1022:20: performance: Passing the result of c_str() to a stream is slow and redundant. [stlcstrStream] generate_cpp.cpp:315:15: style: Consider using std::transform algorithm instead of a raw loop. [useStlAlgorithm] generate_cpp.cpp:490:39: style: Consider using std::any_of algorithm instead of a raw loop. [useStlAlgorithm] generate_cpp.cpp:403:24: style: Variable 'iface' is assigned a value that is never used. [unreadVariable] import_resolver.cpp:55:9: style: Consider using std::replace_if algorithm instead of a raw loop. [useStlAlgorithm] io_delegate_unittest.cpp:34:1: error: syntax error [syntaxError] io_delegate.cpp:207:33: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] io_delegate.h:63:8: performance:inconclusive: Technically the member function 'android::aidl::IoDelegate::CreateDirForPath' can be static (but you may consider moving to unnamed namespace). [functionStatic] io_delegate.cpp:149:18: note: Technically the member function 'android::aidl::IoDelegate::CreateDirForPath' can be static (but you may consider moving to unnamed namespace). io_delegate.h:63:8: note: Technically the member function 'android::aidl::IoDelegate::CreateDirForPath' can be static (but you may consider moving to unnamed namespace). io_delegate.cpp:207:27: style: Variable 'ent' can be declared as pointer to const [constVariablePointer] generate_ndk.cpp:176:25: style: Condition 'value.GetType()==AidlConstantValue::Type::STRING' is always false [knownConditionTrueFalse] generate_ndk.cpp:176:22: note: Calling function 'GetType' returns 0 generate_ndk.cpp:176:25: note: Condition 'value.GetType()==AidlConstantValue::Type::STRING' is always false generate_ndk.cpp:185:25: style: Condition 'value.GetType()==AidlConstantValue::Type::HEXIDECIMAL' is always false [knownConditionTrueFalse] generate_ndk.cpp:185:22: note: Calling function 'GetType' returns 0 generate_ndk.cpp:185:25: note: Condition 'value.GetType()==AidlConstantValue::Type::HEXIDECIMAL' is always false generate_ndk.cpp:186:25: style: Condition 'value.GetType()==AidlConstantValue::Type::INTEGRAL' is always false [knownConditionTrueFalse] generate_ndk.cpp:186:22: note: Calling function 'GetType' returns 0 generate_ndk.cpp:186:25: note: Condition 'value.GetType()==AidlConstantValue::Type::INTEGRAL' is always false generate_ndk.cpp:197:27: style: Condition 'value.GetType()==AidlConstantValue::Type::HEXIDECIMAL' is always false [knownConditionTrueFalse] generate_ndk.cpp:197:24: note: Calling function 'GetType' returns 0 generate_ndk.cpp:197:27: note: Condition 'value.GetType()==AidlConstantValue::Type::HEXIDECIMAL' is always false generate_ndk.cpp:198:27: style: Condition 'value.GetType()==AidlConstantValue::Type::INTEGRAL' is always false [knownConditionTrueFalse] generate_ndk.cpp:198:24: note: Calling function 'GetType' returns 0 generate_ndk.cpp:198:27: note: Condition 'value.GetType()==AidlConstantValue::Type::INTEGRAL' is always false generate_ndk.cpp:212:25: style: Condition 'value.GetType()==AidlConstantValue::Type::STRING' is always false [knownConditionTrueFalse] generate_ndk.cpp:212:22: note: Calling function 'GetType' returns 0 generate_ndk.cpp:212:25: note: Condition 'value.GetType()==AidlConstantValue::Type::STRING' is always false options_unittest.cpp:113:1: error: syntax error [syntaxError] tests/aidl_test_client_file_descriptors.cpp:215:11: style: Consider using std::transform algorithm instead of a raw loop. [useStlAlgorithm] tests/aidl_test_client_primitives.cpp:110:3: style: Consider using std::all_of or std::none_of algorithm instead of a raw loop. [useStlAlgorithm] generate_java_binder.cpp:183:9: warning: Class 'StubClass' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] generate_java_binder.cpp:183:9: warning: Class 'StubClass' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] generate_java_binder.cpp:326:3: warning: Class 'ProxyClass' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] generate_java_binder.cpp:326:3: warning: Class 'ProxyClass' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] tests/aidl_test_sentinel_searcher.cpp:52:3: style: Consider using std::any_of algorithm instead of a raw loop. [useStlAlgorithm] generate_java_binder.cpp:359:51: style: Parameter 'types' can be declared as pointer to const [constParameterPointer] generate_java_binder.cpp:371:48: style: Parameter 'v' can be declared as pointer to const [constParameterPointer] generate_java_binder.cpp:401:50: style: Parameter 'types' can be declared as pointer to const [constParameterPointer] options.cpp:156:26: style: Variable 'long_options' can be declared as const array [constVariable] options.cpp:320:26: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use resize() or pop_back() instead. [uselessCallsSubstr] options.cpp:392:53: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] generate_java_binder.cpp:679:15: style: Consider using std::transform algorithm instead of a raw loop. [useStlAlgorithm] generate_java_binder.cpp:893:15: style: Consider using std::transform algorithm instead of a raw loop. [useStlAlgorithm] tests/aidl_test_client_utf8_strings.cpp:59:3: style: Consider using std::all_of or std::none_of algorithm instead of a raw loop. [useStlAlgorithm] tests/aidl_test_client_utf8_strings.cpp:78:3: style: Consider using std::all_of or std::none_of algorithm instead of a raw loop. [useStlAlgorithm] generate_java_binder.cpp:785:33: error: Uninitialized variable: decl [legacyUninitvar] tests/end_to_end_tests.cpp:73:1: error: syntax error [syntaxError] tests/aidl_test_service.cpp:331:17: style: Consider using std::transform algorithm instead of a raw loop. [useStlAlgorithm] tests/fake_io_delegate.cpp:44:19: style:inconclusive: Function 'GetFileContents' argument 1 names different: declaration 'filename' definition 'relative_filename'. [funcArgNamesDifferent] tests/fake_io_delegate.h:41:26: note: Function 'GetFileContents' argument 1 names different: declaration 'filename' definition 'relative_filename'. tests/fake_io_delegate.cpp:44:19: note: Function 'GetFileContents' argument 1 names different: declaration 'filename' definition 'relative_filename'. tests/fake_io_delegate.cpp:45:19: style:inconclusive: Function 'GetFileContents' argument 2 names different: declaration 'append_content_suffix' definition 'content_suffix'. [funcArgNamesDifferent] tests/fake_io_delegate.h:42:26: note: Function 'GetFileContents' argument 2 names different: declaration 'append_content_suffix' definition 'content_suffix'. tests/fake_io_delegate.cpp:45:19: note: Function 'GetFileContents' argument 2 names different: declaration 'append_content_suffix' definition 'content_suffix'. type_cpp_unittest.cpp:46:1: error: syntax error [syntaxError] type_java_unittest.cpp:38:1: error: syntax error [syntaxError] type_java.cpp:232:78: style:inconclusive: Function 'GenericListType' argument 2 names different: declaration 'arg' definition 'contained_type'. [funcArgNamesDifferent] type_java.h:272:63: note: Function 'GenericListType' argument 2 names different: declaration 'arg' definition 'contained_type'. type_java.cpp:232:78: note: Function 'GenericListType' argument 2 names different: declaration 'arg' definition 'contained_type'. tests/test_util.cpp:42:9: style: Consider using std::replace_if algorithm instead of a raw loop. [useStlAlgorithm] type_namespace.cpp:103:63: style: Parameter 'types' can be declared as reference to const [constParameterReference] diff: 2.13.0 aidl_language.cpp:538:9: style:inconclusive: Boolean expression 'valid' is used in bitwise operation. [bitwiseOnBoolean] head aidl_language.h:143:12: style: The destructor '~AidlAnnotation' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:143:12: note: Destructor in derived class head aidl_language.h:169:12: style: The destructor '~AidlAnnotatable' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:169:12: note: Destructor in derived class head aidl_language.h:193:12: style: The destructor '~AidlTypeSpecifier' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:169:12: note: Virtual destructor in base class aidl_language.h:193:12: note: Destructor in derived class head aidl_language.h:271:12: style: The destructor '~AidlVariableDeclaration' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:271:12: note: Destructor in derived class head aidl_language.h:300:12: style: The destructor '~AidlArgument' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:271:12: note: Virtual destructor in base class aidl_language.h:300:12: note: Destructor in derived class head aidl_language.h:323:12: style: The destructor '~AidlMember' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:323:12: note: Destructor in derived class head aidl_language.h:336:12: style: The destructor '~AidlConstantValue' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:336:12: note: Destructor in derived class head aidl_language.h:374:12: style: The destructor '~AidlConstantDeclaration' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:323:12: note: Virtual destructor in base class aidl_language.h:374:12: note: Destructor in derived class head aidl_language.h:406:12: style: The destructor '~AidlMethod' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:323:12: note: Virtual destructor in base class aidl_language.h:406:12: note: Destructor in derived class head aidl_language.h:470:12: style: The destructor '~AidlQualifiedName' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:470:12: note: Destructor in derived class head aidl_language.h:495:12: style: The destructor '~AidlDefinedType' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:169:12: note: Virtual destructor in base class aidl_language.h:495:12: note: Destructor in derived class head aidl_language.h:559:12: style: The destructor '~AidlParcelable' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:495:12: note: Virtual destructor in base class aidl_language.h:559:12: note: Destructor in derived class head aidl_language.h:607:12: style: The destructor '~AidlInterface' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:495:12: note: Virtual destructor in base class aidl_language.h:607:12: note: Destructor in derived class head aidl_language.h:633:12: style: The destructor '~AidlImport' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] aidl_language.h:81:12: note: Virtual destructor in base class aidl_language.h:633:12: note: Destructor in derived class 2.13.0 aidl_to_cpp_common.cpp:103:25: debug: Function::addArguments found argument 'c' with varid 0. [varid0] 2.13.0 aidl_to_cpp_common.cpp:110:25: debug: Function::addArguments found argument 'c' with varid 0. [varid0] 2.13.0 aidl_to_cpp_common.cpp:117:25: debug: Function::addArguments found argument 'c' with varid 0. [varid0] 2.13.0 aidl_to_cpp_common.cpp:128:25: debug: Function::addArguments found argument 'c' with varid 0. [varid0] 2.13.0 aidl_to_cpp_common.cpp:135:25: debug: Function::addArguments found argument 'c' with varid 0. [varid0] 2.13.0 aidl_to_cpp_common.cpp:142:25: debug: Function::addArguments found argument 'c' with varid 0. [varid0] 2.13.0 aidl_to_cpp_common.cpp:149:25: debug: Function::addArguments found argument 'c' with varid 0. [varid0] 2.13.0 aidl_to_cpp_common.cpp:156:25: debug: Function::addArguments found argument 'c' with varid 0. [varid0] head aidl_typenames.cpp:132:45: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] head aidl_typenames.cpp:138:45: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] head ast_cpp.h:120:12: style: The destructor '~ArgList' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:120:12: note: Destructor in derived class head ast_cpp.h:144:12: style: The destructor '~ConstructorDecl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:144:12: note: Destructor in derived class head ast_cpp.h:159:12: style: The destructor '~MacroDecl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:159:12: note: Destructor in derived class head ast_cpp.h:188:12: style: The destructor '~MethodDecl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:188:12: note: Destructor in derived class head ast_cpp.h:209:12: style: The destructor '~StatementBlock' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:209:12: note: Destructor in derived class head ast_cpp.h:229:12: style: The destructor '~ConstructorImpl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:229:12: note: Destructor in derived class head ast_cpp.h:251:12: style: The destructor '~MethodImpl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:251:12: note: Destructor in derived class head ast_cpp.h:271:12: style: The destructor '~SwitchStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:271:12: note: Destructor in derived class head ast_cpp.h:293:4: style: The destructor '~Assignment' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:293:4: note: Destructor in derived class head ast_cpp.h:308:4: style: The destructor '~MethodCall' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:308:4: note: Destructor in derived class head ast_cpp.h:322:12: style: The destructor '~IfStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:322:12: note: Destructor in derived class head ast_cpp.h:341:4: style: The destructor '~Statement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:341:4: note: Destructor in derived class head ast_cpp.h:353:4: style: The destructor '~Comparison' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:353:4: note: Destructor in derived class head ast_cpp.h:367:4: style: The destructor '~LiteralExpression' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:367:4: note: Destructor in derived class head ast_cpp.h:383:12: style: The destructor '~CppNamespace' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:383:12: note: Destructor in derived class head ast_cpp.h:46:12: style: The destructor '~Declaration' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:38:12: note: Virtual destructor in base class ast_cpp.h:46:12: note: Destructor in derived class head ast_cpp.h:55:4: style: The destructor '~LiteralDecl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:55:4: note: Destructor in derived class head ast_cpp.h:72:12: style: The destructor '~ClassDecl' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:72:12: note: Destructor in derived class head ast_cpp.h:92:12: style: The destructor '~Enum' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_cpp.h:46:12: note: Virtual destructor in base class ast_cpp.h:92:12: note: Destructor in derived class head ast_java.h:109:12: style: The destructor '~FieldVariable' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:109:12: note: Destructor in derived class head ast_java.h:123:12: style: The destructor '~Field' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:65:12: note: Virtual destructor in base class ast_java.h:123:12: note: Destructor in derived class head ast_java.h:129:12: style: The destructor '~Statement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:58:12: note: Virtual destructor in base class ast_java.h:129:12: note: Destructor in derived class head ast_java.h:135:12: style: The destructor '~LiteralStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:135:12: note: Destructor in derived class head ast_java.h:146:12: style: The destructor '~StatementBlock' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:146:12: note: Destructor in derived class head ast_java.h:157:12: style: The destructor '~ExpressionStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:157:12: note: Destructor in derived class head ast_java.h:168:12: style: The destructor '~Assignment' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:168:12: note: Destructor in derived class head ast_java.h:184:12: style: The destructor '~MethodCall' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:184:12: note: Destructor in derived class head ast_java.h:197:12: style: The destructor '~Comparison' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:197:12: note: Destructor in derived class head ast_java.h:207:12: style: The destructor '~NewExpression' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:207:12: note: Destructor in derived class head ast_java.h:219:12: style: The destructor '~NewArrayExpression' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:219:12: note: Destructor in derived class head ast_java.h:229:12: style: The destructor '~Cast' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:229:12: note: Destructor in derived class head ast_java.h:239:12: style: The destructor '~VariableDeclaration' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:239:12: note: Destructor in derived class head ast_java.h:249:12: style: The destructor '~IfStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:249:12: note: Destructor in derived class head ast_java.h:257:12: style: The destructor '~ReturnStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:257:12: note: Destructor in derived class head ast_java.h:265:12: style: The destructor '~TryStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:265:12: note: Destructor in derived class head ast_java.h:273:12: style: The destructor '~FinallyStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:273:12: note: Destructor in derived class head ast_java.h:283:12: style: The destructor '~Case' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:58:12: note: Virtual destructor in base class ast_java.h:283:12: note: Destructor in derived class head ast_java.h:292:12: style: The destructor '~SwitchStatement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:129:12: note: Virtual destructor in base class ast_java.h:292:12: note: Destructor in derived class head ast_java.h:308:12: style: The destructor '~Method' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:65:12: note: Virtual destructor in base class ast_java.h:308:12: note: Destructor in derived class head ast_java.h:317:12: style: The destructor '~LiteralClassElement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:65:12: note: Virtual destructor in base class ast_java.h:317:12: note: Destructor in derived class head ast_java.h:335:12: style: The destructor '~Class' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:65:12: note: Virtual destructor in base class ast_java.h:335:12: note: Destructor in derived class head ast_java.h:345:12: style: The destructor '~Document' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:58:12: note: Virtual destructor in base class ast_java.h:345:12: note: Destructor in derived class head ast_java.h:65:12: style: The destructor '~ClassElement' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:58:12: note: Virtual destructor in base class ast_java.h:65:12: note: Destructor in derived class head ast_java.h:69:12: style: The destructor '~Expression' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:58:12: note: Virtual destructor in base class ast_java.h:69:12: note: Destructor in derived class head ast_java.h:76:12: style: The destructor '~LiteralExpression' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:76:12: note: Destructor in derived class head ast_java.h:85:12: style: The destructor '~StringLiteralExpression' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:85:12: note: Destructor in derived class head ast_java.h:97:12: style: The destructor '~Variable' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] ast_java.h:69:12: note: Virtual destructor in base class ast_java.h:97:12: note: Destructor in derived class head generate_java_binder.cpp:359:51: style: Parameter 'types' can be declared as pointer to const [constParameterPointer] head type_cpp.h:45:12: style: The destructor '~Type' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] type_namespace.h:58:12: note: Virtual destructor in base class type_cpp.h:45:12: note: Destructor in derived class 2.13.0 type_cpp.h:91:12: style: The destructor '~TypeNamespace' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] type_namespace.h:124:12: note: Virtual destructor in base class type_cpp.h:91:12: note: Destructor in derived class head type_cpp.h:91:12: style: The destructor '~TypeNamespace' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] type_namespace.h:138:12: note: Virtual destructor in base class type_cpp.h:91:12: note: Destructor in derived class head type_java.h:288:12: style: The destructor '~JavaTypeNamespace' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] type_namespace.h:138:12: note: Virtual destructor in base class type_java.h:288:12: note: Destructor in derived class head type_java.h:42:12: style: The destructor '~Type' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] type_namespace.h:58:12: note: Virtual destructor in base class type_java.h:42:12: note: Destructor in derived class head type_namespace.h:138:12: style: The destructor '~LanguageTypeNamespace < Type >' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] type_namespace.h:124:12: note: Virtual destructor in base class type_namespace.h:138:12: note: Destructor in derived class head type_namespace.h:138:12: style: The destructor '~LanguageTypeNamespace' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] type_namespace.h:124:12: note: Virtual destructor in base class type_namespace.h:138:12: note: Destructor in derived class DONE