411 Commits (807cc727b59669e821e39e8e7a8e6ace8dece6db)

Author SHA1 Message Date
Jules Villard d9e12850b9 [biabd] do not try to bypass `Ondemand` to get proc desc of models
6 years ago
Mehdi Bouaziz ad986dffde Get rid of Declare_locals
6 years ago
Martin Trojer 562f9d1c7c Add guard against triggering static self logic when we have nested class calls
6 years ago
Martin Trojer 4ba7218133 Added test to verify a NSArray nil insert case.
6 years ago
Martin Trojer 4b69087ad5 Adding OBJCPP models to avoid SKIPs of models from .mm
6 years ago
Dulma Churchill 5653839540 [clang] Add the types of captured variables to the procname of blocks
6 years ago
Martin Trojer 63b3f5b99b Deal with anonymous objc blocks where non closure args could wrongly be considered duplicates.
7 years ago
Martin Trojer d442937380 Add CFRunLoopObserverCreateWithHandler model and test
7 years ago
Martin Trojer 8bdbf3aedc Fix false positive BAD_POINTER for objcpp
7 years ago
Dulma Churchill 60cbc2c98e [biabduction] Enable dynamic dispatch for ObjC methods
7 years ago
Dulma Churchill 2cf0e7a1d2 [clang] Treat class method as a static self only as the first argument of an instance method call, not a class method
7 years ago
Martin Trojer 5156ff7f65 [infer][PR] handle improper version strings in @available clauses
7 years ago
Dulma Churchill 91e0a7d1a3 [IR] Take parameters into account in to_filename method
7 years ago
Dulma Churchill 79a8f8716c [clang] Adding parameters as part of the procname for C++/ObjC methods and ObjC blocks
7 years ago
Jeremy Dubreil a5129e57db [Nullable checker][Objective C] add test for nullable properties in NSArray
7 years ago
Jules Villard 30c470eb48 [tests] record error bucket in expected output
7 years ago
Jules Villard 8b882ac1df Change license to MIT
7 years ago
Daiva Naudziuniene d7d3e16d6f [uninit] Enable reporting on uninitialized pointers
7 years ago
Brandon Kieft eab7fd1242 Add predicates to check the receiver class type
7 years ago
Dulma Churchill accfc00d82 [objc frontend] Do not crash on internal forward classes
7 years ago
Jules Villard 766a16cd90 [clang] enforce that `instruction` always returns one SIL expression
7 years ago
Brandon Kieft cb66e4212b Add predicates for instance and class methods
7 years ago
Dulma Churchill afe511b53d [biabduction] Support finding skip reasons from attributes for clang too
7 years ago
Jules Villard dfe2ad5229 [camel] call `Format.pp_print_*` directly where appropriate
7 years ago
Dulma Churchill c24ff02bb4 [biabduction] Add to the skip reason when the method comes from a protocol
7 years ago
Brandon Kieft 275f4c3a8c Add predicates to check for protocols
7 years ago
Brandon Kieft 439839a9fa Add is_in_(interface/implementation) predicates
7 years ago
Brandon Kieft 7d4bd403df Add is_objc_method_exposed predicate
7 years ago
Brandon Kieft 01ee635902 Add is_objc_method_overriding predicate
7 years ago
Brandon Kieft d7cf002461 Add new ObjC predicates, mostly related to categories
7 years ago
Jules Villard 902de9d6e3 [sil] make return value and type mandatory
7 years ago
Dulma Churchill 077d9a534b [objc frontend] Do not assume that the fast enumeration in ObjC always includes a declaration of the loop variable
7 years ago
Dulma Churchill 038c0b92d4 [objc frontend] Raise SelfClassException only inside ObjCMethodCallExpr nodes
7 years ago
Dulma Churchill 69392d4192 [biabduction] Log reasons for skipping also in non Java context
7 years ago
Jules Villard 73a47d594c [debug] print procedures in alphabetical order in cfgs
7 years ago
Dulma Churchill 28200b87d7 [objc blocks] Specialize store instructions with current closure in methods specialized with blocks as arguments
7 years ago
Ezgi Çiçek 523c2f539b change clang translation to track if_kind (i.e. the type of prune node)
7 years ago
Dulma Churchill aa578ea586 [retain cycles] Treat missing fields also angelically when it still happens in rare cases
7 years ago
Dulma Churchill 74e16bdb58 [retain cycles] Define custom compare function that is more suited to dedup cycles
7 years ago
Dulma Churchill 436e5340f3 [retain cycles] Move the retain cycle check to sym_exec_wrapper to get the path of the last instruction executed
7 years ago
Dulma Churchill 927e2049c3 [backend] Add getter/setter execution to the trace
7 years ago
Dulma Churchill 862bbdb5fc [retain cycles] Take weak pointers into account to avoid false positives
7 years ago
Dulma Churchill d04a7aed52 [clang] Removed the mangling part of Clang global variables in the error messages
7 years ago
Sam Blackshear 6d46b0c7be [cleanup] stop printing `&`'s on `Var.t`'s
7 years ago
Dulma Churchill 0bc4df4b42 [retain cycles] Report cycles after assignment and method call
7 years ago
Dulma Churchill 2edc1d8581 [retain cycles] Improve the message of cycles with blocks by adding more info about captured variables
7 years ago
Jeremy Dubreil d74f189dfe [infer] add the report kind to the list of expected output
7 years ago
Dulma Churchill be53bc80e2 [lieveness] Fix false positive to do with a _Generic expression not being translated properly
7 years ago
Dulma Churchill ae8067ea1a [clang] Set up the objc accessor flags correctly in case property is defined in protocol
7 years ago
Dulma Churchill 9f343853ec [clang] Find fields from the properties corresponding to the property implementations.
7 years ago
Jérémie Marguerie 8cfc7f2cad Add function to retrieve the lifetime of an ivar pointer and check if it is strong
7 years ago
Dulma Churchill 702f8098e7 [retain cycles] Find all the cycles available instead of only one per root analysed
7 years ago
Dulma Churchill aae319376d [retain cycles] Fix renaming of closures, finds more retain cycles
7 years ago
Jeremy Dubreil 89ec1effde [infer][nullable checker] lookup the attributes in the CFG
7 years ago
Dulma Churchill 4218142a84 [retain cycles] Implement dotty files for retain cycles new
7 years ago
Varun Arora ad10435b58 [IR] combine is_objc_instance_method and is_cpp_instance_method fields in ProcAttributes into method_kind
7 years ago
Dulma Churchill 91fbe68cc9 [retain cycles] Do not report when the captured variable is weak
7 years ago
Jeremy Dubreil 2228f7448d [infer][nullable checker] add tests for the early return
7 years ago
Dulma Churchill 8a9fcdc43f [retain cycles] Find cycles about blocks
7 years ago
Dulma Churchill f5e89797a8 [backend] Fix consistency of closures after bi-abduction and other executions.
7 years ago
Jules Villard 6b5390fe79 [cfg] rename iCFG to cfg in dotty files
7 years ago
Jules Villard 337fb9bcdd [al] import files relatively to the current al file
7 years ago
Jules Villard 6d908adf14 [al] use "quotes" for user imports
7 years ago
Jules Villard 3d7878ef25 [make] make sure we always read from the right infer-out/
7 years ago
Dulma Churchill 66b1956e9a [debug] Adding the captured variable to the printing of the closures
7 years ago
Jeremy Dubreil b089486b5a [infer][nullable checker] take subtyping into account when detecting pointer assignment
7 years ago
Jeremy Dubreil 73b4409e6f [infer][nullable checker] no longer propagate the nullability when the lhs is not a pointer type
7 years ago
Jeremy Dubreil f50c7b469e [infer][nullable checkers] move the tests for the nullable checker in a dedicated subdirectory
7 years ago
Jeremy Dubreil 71cf1760c5 [infer][nullable checker] find the nullable violation involving annotated protocol methods
7 years ago
Jeremy Dubreil c62dd2a0c2 [infer][nullable checker] add models for mutations of mutable dictionaries and mutable arrays
7 years ago
Jeremy Dubreil 83118865aa [infer] add arrayByAddingObject: to the list of methods asserting the parameters
7 years ago
Sam Blackshear 0ebdd369b0 [liveness] don't warn on dead stores of type CKComponentScope
7 years ago
Dulma Churchill ed740600de [cleanup] Remove hidden field and related code that is not used anymore.
7 years ago
Jeremy Dubreil 4aaa39fdd1 [infer][nullable checker] propagate object nullablilty when calling an Objective C instance method on a nullable receiver
7 years ago
Jeremy Dubreil d4c81a7798 [infer][nullable checker] model NSDictionary initialization as crashing on nil keys or nil values
7 years ago
Dulma Churchill 1d0b6050a6 [retain cycle] Move the code about retain cycle detection to a dedicated module
7 years ago
Dulma Churchill d25754597d [memory leaks] Adding model for CVPixelBufferRelease
7 years ago
Dulma Churchill 306a0a9182 [liveness] Do not report on variables with block attribute
7 years ago
Dulma Churchill 71fde88950 [IR] Adding support for variable attributes, adding __block for ObjC variables
7 years ago
Dulma Churchill 68beca1523 [objc] Refactor modeling of CoreFoundation and CoreGraphics libraries
7 years ago
Dulma Churchill c0f250c45e [liveness] Change the model of assert functions to include the handle failure function to avoid dead store fps
7 years ago
Jeremy Dubreil a991b98d02 [infer][nullable checker] also report a null dereference error when adding nil key or value to NSDictionary
7 years ago
Dulma Churchill c90bcf1320 [objc] Model dispatch functions
7 years ago
Dino Distefano ba422a8ad8 Remove FPs for struct in ObjC
7 years ago
Dulma Churchill 45df254a99 [infer][PR] [C/C++] Encode filename into the Procname of global initializers
7 years ago
Jeremy Dubreil 354b46f8ca [infer][nullable checker] no report for objects created by URLWithString:
7 years ago
Jeremy Dubreil a4428a4cae [infer][nullable checker] report an error when a nullable value is stored into an NSArray without being checked for null
7 years ago
Jeremy Dubreil 956d6d0a1d [infer][nullable checker] better error messages for nullable violations involving Clang materialized variables
7 years ago
Dulma Churchill a1010fb9fc [linters] Ading predicate is_in_objc_class_named and make a verbose rule more targeted
7 years ago
Vivek Dhiman d8be5e0874 Added 'is_method_called_by_superclass'. A new predicate that checks if the caller name is super class in a 'method call'.
7 years ago
Dino Distefano aa54b1b035 Extending uninit analysis to struct
7 years ago
Dulma Churchill 18782be7c9 [linters] Adding a new predicate for in an ObjC class that is subclass of some class
7 years ago
Dino Distefano 979c476fa3 Do not report when defining an array
7 years ago
Dulma Churchill 5902f6363b [objc] Add a new call flag for calls with objc blocks as parameters
7 years ago
Dominic Cooney c542b65a42 Add a lint rule warning about ObjC custom setters for weak properties
7 years ago
Jeremy Dubreil ebea2a6ba1 [infer][clang] the nullable checker should not warn on pointer re-assignment
7 years ago
Jeremy Dubreil 8274453277 [infer][clang] the nullable checker should not warn on Objective C method call when the receiver is nullable
7 years ago
Dino Distefano c98570f899 do not report on captured vars in objc blocks
7 years ago
Mehdi Bouaziz 6047264e4a [bug hash] Attempt for a better hash
7 years ago
Dulma Churchill 3a3e1893d6 [objc] Fix bad footprint caused by incorrect translation of blocks as arguments
7 years ago