[linters] Include only base name of ObjC methods in the linters bug hash

Reviewed By: ddino

Differential Revision: D5815441

fbshipit-source-id: 059ff8d
master
Dulma Churchill 7 years ago committed by Facebook Github Bot
parent b99b653ffa
commit d8765d1d44

@ -176,6 +176,12 @@ module NoAstDecl = struct
mk_objc_method class_name method_name method_kind mk_objc_method class_name method_name method_kind
end end
let objc_method_procname ?tenv decl_info method_name mdi =
let class_typename = get_class_typename ?tenv decl_info in
let is_instance = mdi.Clang_ast_t.omdi_is_instance_method in
let method_kind = Typ.Procname.objc_method_kind_of_bool is_instance in
mk_objc_method class_typename method_name method_kind
let from_decl translation_unit_context ?tenv meth_decl = let from_decl translation_unit_context ?tenv meth_decl =
let open Clang_ast_t in let open Clang_ast_t in
match meth_decl with match meth_decl with
@ -192,11 +198,7 @@ let from_decl translation_unit_context ?tenv meth_decl =
let class_typename = get_class_typename ?tenv decl_info in let class_typename = get_class_typename ?tenv decl_info in
mk_cpp_method ?tenv class_typename method_name ~meth_decl mangled mk_cpp_method ?tenv class_typename method_name ~meth_decl mangled
| ObjCMethodDecl (decl_info, name_info, mdi) | ObjCMethodDecl (decl_info, name_info, mdi)
-> let class_typename = get_class_typename ?tenv decl_info in -> objc_method_procname ?tenv decl_info name_info.Clang_ast_t.ni_name mdi
let method_name = name_info.Clang_ast_t.ni_name in
let is_instance = mdi.Clang_ast_t.omdi_is_instance_method in
let method_kind = Typ.Procname.objc_method_kind_of_bool is_instance in
mk_objc_method class_typename method_name method_kind
| BlockDecl _ | BlockDecl _
-> let name = -> let name =
Config.anonymous_block_prefix ^ Config.anonymous_block_num_sep Config.anonymous_block_prefix ^ Config.anonymous_block_num_sep
@ -206,3 +208,18 @@ let from_decl translation_unit_context ?tenv meth_decl =
| _ | _
-> Logging.die InternalError "Expected method decl, but got %s." -> Logging.die InternalError "Expected method decl, but got %s."
(Clang_ast_proj.get_decl_kind_string meth_decl) (Clang_ast_proj.get_decl_kind_string meth_decl)
let from_decl_for_linters translation_unit_context method_decl =
let open Clang_ast_t in
match method_decl with
| ObjCMethodDecl (decl_info, name_info, mdi)
-> let method_name =
match String.split ~on:':' name_info.Clang_ast_t.ni_name with
| hd :: _
-> hd
| _
-> name_info.Clang_ast_t.ni_name
in
objc_method_procname decl_info method_name mdi
| _
-> from_decl translation_unit_context method_decl

@ -14,6 +14,13 @@ val from_decl :
(** Given decl, return its procname. This function should be used for all procedures (** Given decl, return its procname. This function should be used for all procedures
present in original AST *) present in original AST *)
val from_decl_for_linters :
CFrontend_config.translation_unit_context -> Clang_ast_t.decl -> Typ.Procname.t
(** This is used for bug hashing for linters. In ObjC the method names contain the parameter names,
thus if people add new parameters, any bug about the method will be considered different which means
reporting on unchanged code. So, in the ObjC method case, we create the method name only based on the
first part of the name without the parameters *)
(** WARNING: functions from this module should not be used if full decl is available in AST *) (** WARNING: functions from this module should not be used if full decl is available in AST *)
module NoAstDecl : sig module NoAstDecl : sig
val c_function_of_string : val c_function_of_string :

@ -276,7 +276,6 @@ let rec apply_substitution f sub =
| ET (ntl, sw, f1) | ET (ntl, sw, f1)
-> ET (sub_list_param ntl, sw, apply_substitution f1 sub) -> ET (sub_list_param ntl, sw, apply_substitution f1 sub)
let expand_formula phi _map _error_msg = let expand_formula phi _map _error_msg =
let fail_with_circular_macro_definition name error_msg = let fail_with_circular_macro_definition name error_msg =
L.(die ExternalError) "Macro '%s' has a circular definition.@\n Cycle:@\n%s" name error_msg L.(die ExternalError) "Macro '%s' has a circular definition.@\n Cycle:@\n%s" name error_msg
@ -415,15 +414,15 @@ let get_err_log translation_unit_context method_decl_opt =
let procname = let procname =
match method_decl_opt with match method_decl_opt with
| Some method_decl | Some method_decl
-> CProcname.from_decl translation_unit_context method_decl -> CProcname.from_decl_for_linters translation_unit_context method_decl
| None | None
-> Typ.Procname.Linters_dummy_method -> Typ.Procname.Linters_dummy_method
in in
LintIssues.get_err_log procname LintIssues.get_err_log procname
(** Add a frontend warning with a description desc at location loc to the errlog of a proc desc *) (** Add a frontend warning with a description desc at location loc to the errlog of a proc desc *)
let log_frontend_issue translation_unit_context method_decl_opt key (issue_desc: CIssue.issue_desc) let log_frontend_issue translation_unit_context method_decl_opt (node: Ctl_parser_types.ast_node)
linters_def_file = (issue_desc: CIssue.issue_desc) linters_def_file =
let errlog = get_err_log translation_unit_context method_decl_opt in let errlog = get_err_log translation_unit_context method_decl_opt in
let err_desc = let err_desc =
Errdesc.explain_frontend_warning issue_desc.description issue_desc.suggestion issue_desc.loc Errdesc.explain_frontend_warning issue_desc.description issue_desc.suggestion issue_desc.loc
@ -431,32 +430,33 @@ let log_frontend_issue translation_unit_context method_decl_opt key (issue_desc:
let exn = Exceptions.Frontend_warning ((issue_desc.id, issue_desc.name), err_desc, __POS__) in let exn = Exceptions.Frontend_warning ((issue_desc.id, issue_desc.name), err_desc, __POS__) in
let trace = [Errlog.make_trace_element 0 issue_desc.loc "" []] in let trace = [Errlog.make_trace_element 0 issue_desc.loc "" []] in
let err_kind = issue_desc.severity in let err_kind = issue_desc.severity in
let key = Hashtbl.hash key in let key_str =
match node with
| Decl dec
-> CAst_utils.generate_key_decl dec
| Stmt st
-> CAst_utils.generate_key_stmt st
in
let key = Hashtbl.hash key_str in
Reporting.log_issue_from_errlog err_kind errlog exn ~loc:issue_desc.loc ~ltr:trace Reporting.log_issue_from_errlog err_kind errlog exn ~loc:issue_desc.loc ~ltr:trace
~node_id:(0, key) ?linters_def_file ?doc_url:issue_desc.doc_url ~node_id:(0, key) ?linters_def_file ?doc_url:issue_desc.doc_url
let fill_issue_desc_info_and_log context an key issue_desc linters_def_file loc = let fill_issue_desc_info_and_log context an issue_desc linters_def_file loc =
let desc = remove_new_lines (expand_message_string context issue_desc.CIssue.description an) in let desc = remove_new_lines (expand_message_string context issue_desc.CIssue.description an) in
let issue_desc' = {issue_desc with CIssue.description= desc; CIssue.loc= loc} in let issue_desc' = {issue_desc with CIssue.description= desc; CIssue.loc= loc} in
log_frontend_issue context.CLintersContext.translation_unit_context log_frontend_issue context.CLintersContext.translation_unit_context
context.CLintersContext.current_method key issue_desc' linters_def_file context.CLintersContext.current_method an issue_desc' linters_def_file
(* Calls the set of hard coded checkers (if any) *) (* Calls the set of hard coded checkers (if any) *)
let invoke_set_of_hard_coded_checkers_an context (an: Ctl_parser_types.ast_node) = let invoke_set_of_hard_coded_checkers_an context (an: Ctl_parser_types.ast_node) =
let checkers, key = let checkers = match an with Decl _ -> decl_checkers_list | Stmt _ -> stmt_checkers_list in
match an with
| Decl dec
-> (decl_checkers_list, CAst_utils.generate_key_decl dec)
| Stmt st
-> (stmt_checkers_list, CAst_utils.generate_key_stmt st)
in
List.iter List.iter
~f:(fun checker -> ~f:(fun checker ->
let issue_desc_list = checker context an in let issue_desc_list = checker context an in
List.iter List.iter
~f:(fun issue_desc -> ~f:(fun issue_desc ->
if CIssue.should_run_check issue_desc.CIssue.mode then if CIssue.should_run_check issue_desc.CIssue.mode then
fill_issue_desc_info_and_log context an key issue_desc None issue_desc.CIssue.loc) fill_issue_desc_info_and_log context an issue_desc None issue_desc.CIssue.loc)
issue_desc_list) issue_desc_list)
checkers checkers
@ -469,15 +469,8 @@ let invoke_set_of_parsed_checkers_an parsed_linters context (an: Ctl_parser_type
| None | None
-> () -> ()
| Some witness | Some witness
-> let key = -> let loc = CFrontend_checkers.location_from_an context witness in
match witness with fill_issue_desc_info_and_log context witness linter.issue_desc linter.def_file loc)
| Decl dec
-> CAst_utils.generate_key_decl dec
| Stmt st
-> CAst_utils.generate_key_stmt st
in
let loc = CFrontend_checkers.location_from_an context witness in
fill_issue_desc_info_and_log context witness key linter.issue_desc linter.def_file loc)
parsed_linters parsed_linters
(* We decouple the hardcoded checkers from the parsed ones *) (* We decouple the hardcoded checkers from the parsed ones *)

@ -1,11 +1,11 @@
codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_m2, 136, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_m2, 136, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, []
codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_m3:, 144, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_m3, 144, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, []
codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_uifont_without_respondstoselector:, 118, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_uifont_without_respondstoselector, 118, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, []
codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_with_responds_to_selector_in_else:, 71, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_with_responds_to_selector_in_else, 71, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, []
codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_without_instances_responds_to_selector, 95, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_without_instances_responds_to_selector, 95, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, []
codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_without_responds_to_selector:, 64, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_without_responds_to_selector, 64, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, []
codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, OpenURLOptionsFromSourceApplication, 68, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, OpenURLOptionsFromSourceApplication, 68, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, []
codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk_test:and:, 28, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk_test, 28, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, []
codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk_unsupported_class, 34, UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK, [] codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk_unsupported_class, 34, UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK, []
codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk_unsupported_class_with_attributes:, 53, UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK, [] codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk_unsupported_class_with_attributes, 53, UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK, []
codetoanalyze/objc/ioslints/unavailable_property_ios.m, FNFPlayerLayer_initWithConfigs:, 22, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] codetoanalyze/objc/ioslints/unavailable_property_ios.m, FNFPlayerLayer_initWithConfigs, 22, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, []

@ -26,25 +26,25 @@ codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 11, TEST_IMPLICI
codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 11, TEST_VAR_TYPE_CHECK, [] codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 11, TEST_VAR_TYPE_CHECK, []
codetoanalyze/objc/linters-for-test-only/namespace.mm, Linters_dummy_method, 9, TEST_DEFINE_NAMESPACE, [] codetoanalyze/objc/linters-for-test-only/namespace.mm, Linters_dummy_method, 9, TEST_DEFINE_NAMESPACE, []
codetoanalyze/objc/linters-for-test-only/namespace.mm, Linters_dummy_method, 17, TEST_USING_NAMESPACE, [] codetoanalyze/objc/linters-for-test-only/namespace.mm, Linters_dummy_method, 17, TEST_USING_NAMESPACE, []
codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithA:, 24, TEST_INSTANCE_TYPE, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithA, 24, TEST_INSTANCE_TYPE, []
codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithA:, 24, TEST_PROTOCOL_TYPE_INHERITANCE, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithA, 24, TEST_PROTOCOL_TYPE_INHERITANCE, []
codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithB:, 25, TEST_INSTANCE_TYPE, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithB, 25, TEST_INSTANCE_TYPE, []
codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithB:, 25, TEST_PROTOCOL_TYPE_INHERITANCE, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithB, 25, TEST_PROTOCOL_TYPE_INHERITANCE, []
codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithC:, 26, TEST_INSTANCE_TYPE, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithC, 26, TEST_INSTANCE_TYPE, []
codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithC:, 26, TEST_PROTOCOL_TYPE_INHERITANCE, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithC, 26, TEST_PROTOCOL_TYPE_INHERITANCE, []
codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithCs:, 27, TEST_GENERICS_TYPE, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithCs, 27, TEST_GENERICS_TYPE, []
codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithCs:, 27, TEST_INSTANCE_TYPE, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithCs, 27, TEST_INSTANCE_TYPE, []
codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithCs:, 27, TEST_PROTOCOL_TYPE_INHERITANCE, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithCs, 27, TEST_PROTOCOL_TYPE_INHERITANCE, []
codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithD:, 28, TEST_BUILTIN_TYPE, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithD, 28, TEST_BUILTIN_TYPE, []
codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 11, TEST_PROTOCOL_DEF_INHERITANCE, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 11, TEST_PROTOCOL_DEF_INHERITANCE, []
codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 14, TEST_PROTOCOL_DEF_INHERITANCE, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 14, TEST_PROTOCOL_DEF_INHERITANCE, []
codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 17, TEST_PROTOCOL_DEF_INHERITANCE, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 17, TEST_PROTOCOL_DEF_INHERITANCE, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo:, 13, TEST_BUILTIN_TYPE, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 13, TEST_BUILTIN_TYPE, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo:, 13, TEST_PARAM_TYPE_CHECK2, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 13, TEST_PARAM_TYPE_CHECK2, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo:, 13, TEST_RETURN_METHOD, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 13, TEST_RETURN_METHOD, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo:, 19, TEST_BUILTIN_TYPE, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 19, TEST_BUILTIN_TYPE, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo:, 19, TEST_PARAM_TYPE_CHECK2, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 19, TEST_PARAM_TYPE_CHECK2, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo:, 19, TEST_RETURN_METHOD, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 19, TEST_RETURN_METHOD, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 28, TEST_BUILTIN_TYPE, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 28, TEST_BUILTIN_TYPE, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 28, TEST_RETURN_METHOD, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 28, TEST_RETURN_METHOD, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 34, TEST_BUILTIN_TYPE, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 34, TEST_BUILTIN_TYPE, []
@ -90,9 +90,9 @@ codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m23, 99, TEST_B
codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m24, 100, TEST_BUILTIN_TYPE, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m24, 100, TEST_BUILTIN_TYPE, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m25, 101, TEST_BUILTIN_TYPE, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m25, 101, TEST_BUILTIN_TYPE, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26, 102, TEST_BUILTIN_TYPE, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26, 102, TEST_BUILTIN_TYPE, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26:pname2:pname3:pname4:, 103, TEST_BUILTIN_TYPE, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26, 103, TEST_BUILTIN_TYPE, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26:pname2:pname3:pname4:, 103, TEST_NTH_PARAM_TYPE_CHECK, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26, 103, TEST_NTH_PARAM_TYPE_CHECK, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26:pname2:pname3:pname4:, 105, TEST_PARAM_TYPE_CHECK, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26, 105, TEST_PARAM_TYPE_CHECK, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m3, 75, TEST_BUILTIN_TYPE, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m3, 75, TEST_BUILTIN_TYPE, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m4, 76, TEST_BUILTIN_TYPE, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m4, 76, TEST_BUILTIN_TYPE, []
codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m7, 79, TEST_BUILTIN_TYPE, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m7, 79, TEST_BUILTIN_TYPE, []

@ -9,7 +9,7 @@ codetoanalyze/objc/linters/atomic_prop.m, A_readP, 77, POINTER_TO_INTEGRAL_IMPLI
codetoanalyze/objc/linters/atomic_prop.m, A_readP, 78, POINTER_TO_INTEGRAL_IMPLICIT_CAST, [] codetoanalyze/objc/linters/atomic_prop.m, A_readP, 78, POINTER_TO_INTEGRAL_IMPLICIT_CAST, []
codetoanalyze/objc/linters/atomic_prop.m, A_readQ, 86, DIRECT_ATOMIC_PROPERTY_ACCESS, [] codetoanalyze/objc/linters/atomic_prop.m, A_readQ, 86, DIRECT_ATOMIC_PROPERTY_ACCESS, []
codetoanalyze/objc/linters/atomic_prop.m, A_readQ, 86, POINTER_TO_INTEGRAL_IMPLICIT_CAST, [] codetoanalyze/objc/linters/atomic_prop.m, A_readQ, 86, POINTER_TO_INTEGRAL_IMPLICIT_CAST, []
codetoanalyze/objc/linters/atomic_prop.m, A_writeQ:, 82, DIRECT_ATOMIC_PROPERTY_ACCESS, [] codetoanalyze/objc/linters/atomic_prop.m, A_writeQ, 82, DIRECT_ATOMIC_PROPERTY_ACCESS, []
codetoanalyze/objc/linters/atomic_prop.m, __objc_anonymous_block_______1, 114, DIRECT_ATOMIC_PROPERTY_ACCESS, [] codetoanalyze/objc/linters/atomic_prop.m, __objc_anonymous_block_______1, 114, DIRECT_ATOMIC_PROPERTY_ACCESS, []
codetoanalyze/objc/linters/badpointer.m, bad1, 17, BAD_POINTER_COMPARISON, [] codetoanalyze/objc/linters/badpointer.m, bad1, 17, BAD_POINTER_COMPARISON, []
codetoanalyze/objc/linters/badpointer.m, bad10, 139, BAD_POINTER_COMPARISON, [] codetoanalyze/objc/linters/badpointer.m, bad10, 139, BAD_POINTER_COMPARISON, []

@ -1,15 +1,15 @@
codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithAction:, 27, TEST_REFERENCE, [] codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithAction, 27, TEST_REFERENCE, []
codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithAction:, 44, TEST_REFERENCE, [] codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithAction, 44, TEST_REFERENCE, []
codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithActionRef:, 24, TEST_REFERENCE, [] codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithActionRef, 24, TEST_REFERENCE, []
codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithActionRef:, 40, TEST_REFERENCE, [] codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithActionRef, 40, TEST_REFERENCE, []
codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithConstAction:, 21, TEST_REFERENCE, [] codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithConstAction, 21, TEST_REFERENCE, []
codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithConstAction:, 36, TEST_REFERENCE, [] codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithConstAction, 36, TEST_REFERENCE, []
codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newImage:, 12, NEW_COMPONENT_USING_MEM_MODEL, [] codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newImage, 12, NEW_COMPONENT_USING_MEM_MODEL, []
codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newImage:, 27, NEW_COMPONENT_USING_MEM_MODEL, [] codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newImage, 27, NEW_COMPONENT_USING_MEM_MODEL, []
codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newMultiParams:image:query:, 20, NEW_COMPONENT_USING_MEM_MODEL, [] codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newMultiParams, 20, NEW_COMPONENT_USING_MEM_MODEL, []
codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newMultiParams:image:query:, 44, NEW_COMPONENT_USING_MEM_MODEL, [] codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newMultiParams, 44, NEW_COMPONENT_USING_MEM_MODEL, []
codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed2_newQuery:, 52, NEW_COMPONENT_USING_MEM_MODEL, [] codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed2_newQuery, 52, NEW_COMPONENT_USING_MEM_MODEL, []
codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed2_newQuery:, 58, NEW_COMPONENT_USING_MEM_MODEL, [] codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed2_newQuery, 58, NEW_COMPONENT_USING_MEM_MODEL, []
codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 41, PARAMETER_TRANS_TYPE, [] codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 41, PARAMETER_TRANS_TYPE, []
codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 41, TEST_PARAMETER_LABEL, [] codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 41, TEST_PARAMETER_LABEL, []
codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 41, TEST_PARAMETER_LABEL_REGEXP, [] codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 41, TEST_PARAMETER_LABEL_REGEXP, []

@ -16,15 +16,15 @@ codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarCompo
codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 92, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 92, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, []
codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 111, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 111, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, []
codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 117, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 117, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, []
codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 52, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 52, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, []
codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 57, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 57, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, []
codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 60, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 60, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, []
codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 64, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 64, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, []
codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 69, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 69, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, []
codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, SomeClass_init, 40, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, SomeClass_init, 40, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, []
codetoanalyze/objcpp/linters/componentkit/UnconventionalSuperclassTest.h, Linters_dummy_method, 17, COMPONENT_WITH_UNCONVENTIONAL_SUPERCLASS, [] codetoanalyze/objcpp/linters/componentkit/UnconventionalSuperclassTest.h, Linters_dummy_method, 17, COMPONENT_WITH_UNCONVENTIONAL_SUPERCLASS, []
codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A_foo3:param2:, 37, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, [] codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A_foo, 20, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, []
codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A_foo:, 20, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, [] codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A_foo3, 37, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, []
codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 30, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, [] codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 30, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, []
codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 32, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, [] codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 32, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, []
codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 34, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, [] codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 34, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, []

Loading…
Cancel
Save