1332 Commits (7c63bef44e7fc6129ae7d9b112864da47f8cb3d9)

Author SHA1 Message Date
Sam Blackshear 9366e8dbc8 [clang] add id -> pvar bindings to C++ lambda capture
7 years ago
Sam Blackshear 1a75ec9cf8 [cleanup] Move ObjC/C++-specific Procname functions to dedicated module
7 years ago
Sam Blackshear 3d170a82c4 [clang] translate lambdas that capture `this`
7 years ago
Dulma Churchill 366f4f5ca2 [clang] Make another crash into incorrect_assumption
7 years ago
Sam Blackshear 9ae77b67fd [clang] simplify translation of `this` expressions
7 years ago
Jules Villard 1d80ce37ab [pp] print contents of argfiles, recursively, on error
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
Jules Villard ab9c18b85d [clang] echo clang stdout when running non-plugin commands
7 years ago
Jules Villard 70c2a50b4e [db] record symbolic capture timestamps for source files
7 years ago
Varun Arora 315db072ac [clang] change CTrans_utils.Self.SelfClassException to use new CFrontend_config.ocaml_pos type instead of raw tuple
7 years ago
Dulma Churchill 8053734563 [linters] Add logging and caught exceptions to the linters
7 years ago
Jeremy Dubreil 47b5104892 [infer][clang] convert assert false to incorrect_assumption in CProcname
7 years ago
Sam Blackshear 82d033c970 [clang] convert some assert false's to structured fails
7 years ago
Varun Arora 440040ada9 [clang] make ast_node argument optional in Unimplemented and IncorrectAssumption exception raising functions
7 years ago
Daiva Naudziuniene ec263afe58 [clang frontend] placement new
7 years ago
Jules Villard 58e0cbe6ee [base] move `Config.language` to its own `Language` module
7 years ago
Jules Villard 7396a613bb [tenv] change interface to take `SourceFile.t` instead of `DB.filename`
7 years ago
Jules Villard daa5154399 [capture] get rid of call graphs
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 7fc7511238 [clang] blacklist `--expt-relaxed-constexpr`
7 years ago
Varun Arora b97ba077ad [clang] Added logging of caught exceptions of type SelfClassException to clang frontend
7 years ago
Varun Arora 773b43d94e [clang] Added logging of caught exceptions of type IncorrectAssumption to clang frontend
7 years ago
Varun Arora 2ede6c1ac4 [clang] Added logging of caught exceptions of type Unimplemented to clang frontend
7 years ago
Jules Villard 1d4128e0c0 [clang] blacklist some flags at the -### level
7 years ago
Jules Villard 1a5ba13778 [cfg][minor] do not duplicate the Hashtbl API
7 years ago
Jules Villard 4b1a7b1771 [cleanup] remove dead code
7 years ago
Jules Villard 92e3d56f2e [cleanup] add missing `open! IStd`
7 years ago
Varun Arora 0003c3acc9 change procedures_translated logging to use eventlogger framework
7 years ago
Varun Arora cd02014209 [clang] Added logging of attempted and completed procedure translations to clang frontend
7 years ago
Radu Grigore eb91d59e40 [infer][PR] Fixed namespace for Java globals.
7 years ago
Jeremy Dubreil c6a6087ed1 [infer][IR] factor the test for pointer type
7 years ago
Josh Berdine 63439ecc02 [ocamlformat] Upgrade base and ocamlformat
7 years ago
Mehdi Bouaziz d8bd7b7deb [inferbo] Only use inferbo models when biabduction is off
7 years ago
Jeremy Dubreil 71cf1760c5 [infer][nullable checker] find the nullable violation involving annotated protocol methods
7 years ago
Jules Villard a91e7dda50 [cfg] move cfgs to sqlite
7 years ago
Martino Luca cd49acc1cf Refactor directory traversal into its own utility function
7 years ago
Jules Villard 5ce024bf6e [clang] do not error on bogus arguments to `fsanitize`
7 years ago
Mehdi Bouaziz cf11590800 [clang] Ignore -fsanitize=builtin
7 years ago
Dulma Churchill ed740600de [cleanup] Remove hidden field and related code that is not used anymore.
7 years ago
Sam Blackshear adde940be4 [cleanup] kill stats_mode option
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
Dulma Churchill c90bcf1320 [objc] Model dispatch functions
7 years ago
Dulma Churchill 45df254a99 [infer][PR] [C/C++] Encode filename into the Procname of global initializers
7 years ago
Jules Villard 6a8d71ad81 [style] s/_foo/foo_/ when `foo_` is not unused
7 years ago
Sam Blackshear 33450ab58b [cleanup] remove language from ProcAttributes
7 years ago
Sam Blackshear eb0a457b02 [clang] translate TypeAliasDecl
7 years ago
Sam Blackshear d90bc24657 [clang] translate UsingDecl
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
Jules Villard 45d5d878cf [cfg] minor renamings
7 years ago
Josh Berdine f62ab09e61 [ocamlformat] Upgrade ocamlformat to v0.2 from opam
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
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
Jules Villard ed55fc63f2 [clang] use a more efficient `var_decl_info`
7 years ago
Jules Villard 525a94e470 [siof] do not generate dummy derefs in initializer code
7 years ago
Jules Villard 0f1bdf664d [clang] static data members are external globals unless defined in the file
7 years ago
Dulma Churchill f739d73ed5 [utils] Move function for appending lists without duplicates to the IList method
7 years ago
Jules Villard 37847cc10a [clang] add infer C++ #include models when siof is enabled
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
Jules Villard 6c9cee700b [clang] do not use C++ header models unless biabduction or inferbo is active
7 years ago
Jules Villard 61b2c9105b [cli] crash if capture happens with conflicting C++ header models
7 years ago
Jules Villard 71ed554c57 [cli] introduce `--linters` and `--capture`
7 years ago
Dulma Churchill e7907032bf [clang] Remove allocating blocks
7 years ago
Jeremy Dubreil a671307363 [infer][clang] fix test failures caused by unused code compiler warnings
7 years ago
Dulma Churchill 08c4c33e7d [clang] Remove the translation of enumerateWithBlocks that causes FPs dead store.
7 years ago
Josh Berdine c1e742536d [frontend][c++] Translate pointer-to-member expressions
7 years ago
Dulma Churchill 2f8b749045 [objc] Better names for the block translation and using temp variables
7 years ago
Dulma Churchill 01219a0298 [cleanup] Remove the retain count implementation from ObjC that is unused.
7 years ago
Martino Luca 3df1e52928 [Buck][compilation-database] Do not run clang command that cannot be attached to the frontend
7 years ago
Josh Berdine f89e687efa [ocamlformat] Use ocamlformat from github
7 years ago
Dulma Churchill a969b5d188 [cleanup] Remove unused code for finding correct fields in Objective-C
7 years ago
Dulma Churchill e23153c1d9 [clang] Refactor the translation of allocation functions
7 years ago
Dulma Churchill 21c7b7dda3 [linters] Do not lint implicit declarations
7 years ago
Mehdi Bouaziz 3b2e9c78de [clang trans] Simplify translation of if(not expr)
7 years ago
Dulma Churchill 4769c481ad [linters] Add a linter for checking const pointers to Objective-C classes
7 years ago
Dulma Churchill 3924d25a25 [clang] Remove two more cases of assert false cases that happen in the apps
7 years ago
Jules Villard 810d756f79 [clang] split StringLiterals into chunks
7 years ago
Jules Villard 2d644b36af [clang] do not translate dependent types
7 years ago
Dulma Churchill ca23ed5f5f [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE when the variable has __block attribute
7 years ago
Dulma Churchill bb3201a8e8 [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE for variables of type std:vector
7 years ago
Dulma Churchill e5007cf2e0 [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE for the loop indices
7 years ago
Dulma Churchill 85e4707d00 [backend] When adding a new field to the tenv, sort the list of fields
7 years ago
Martino Luca 7bd2cedb1d [fcp] Add ooti_ prefix to objc_object_type_info type
7 years ago
Jules Villard f3d98eb807 [time] do not rely on gettimeofday for measuring time
7 years ago
Jules Villard 1b6c77b624 [clang] mark crash sites as `unimplemented` or `incorrect_assumption`
7 years ago
Jules Villard 22aca7494b [siof] understand that <iostream> initialises streams
7 years ago
Dulma Churchill 67b08f666f [objc] Translate ObjCAvailabilityExpr
7 years ago
Jules Villard 2adf654950 [sql] add proc attributes DB
7 years ago
Martino Luca 03a727143a Remove previous_decl field from ast_expressions.ml
7 years ago
Dulma Churchill 870c636e41 [objc] Adding missing fields to env when executing generated getters and setters.
7 years ago
Dulma Churchill de162c86ab [cleanup] Do not create captured folders when only linting
7 years ago
Dulma Churchill 652af47da7 [linters] Add transition to parameters by position in the parameters list
7 years ago
Dino Distefano d694038abd New test for the tableaux method.
7 years ago
Dulma Churchill 0212aaf81f [stats] Emit the stats only in developer mode
7 years ago
Mehdi Bouaziz bb15aba766 [log] Even better exception reraising
7 years ago
Dulma Churchill 234d3627b6 [clang] Support the new @available expression in ObjC in the unavailable API check
7 years ago
Jules Villard cb8e75be85 [clang] do without unstructured type strings
7 years ago
Jules Villard 72b1ac4b5a Turn off --keep-going by default
7 years ago
Dulma Churchill 5569ee751a [linters] Add transitions Fields and FieldName
7 years ago
Jeremy Dubreil b63f5d7c00 [infer][clang] translate the annotations on fields
7 years ago
Dino Distefano f3b158a158 Fix use of SEL in AL
7 years ago
Jeremy Dubreil 919b9268d4 [infer][clang] simplify the translation of the prune nodes
7 years ago
Daiva Naudziuniene ac33bf6e66 [destructors] Injecting destructor calls of virtual bases inside destructor bodies
7 years ago
Sam Blackshear 7aa199f707 [clang] fix translation of placement new
7 years ago
Jules Villard c6812df1eb fix infinitely-expanding types in the backend
7 years ago
Jules Villard 2fff3b0733 [clang] distinguish genuine internal failures from unimplemented features
7 years ago
Sam Blackshear faf04af1f4 [cleanup] kill some debug code
7 years ago
Daiva Naudziuniene 81c0fe6754 [clangplugin] Updating infer to work with the latest clang plugin version
7 years ago
Dulma Churchill d8765d1d44 [linters] Include only base name of ObjC methods in the linters bug hash
7 years ago
Dulma Churchill b99b653ffa [linters] Fix the computing of the successors of method declarations
7 years ago
Dulma Churchill 5f176f40e3 [linters] Add linters_doc_url flag for custom doc_urls for linters
7 years ago
Daiva Naudziuniene e78dc91f34 [destructors] Destroy fields after continue.
7 years ago
Dino Distefano 8cad1b5e69 Remove ETX operator from AL
7 years ago
Jules Villard c07cd81392 [log] better exception reraising
7 years ago
Daiva Naudziuniene c6c7411e05 [destructors] Destroy fields after break.
7 years ago
Daiva Naudziuniene 822ffc6f62 [frontend] Fix continue inside do while.
7 years ago
Dulma Churchill 7e3298711c [AL] Compute a witness child node when computing formulas to be used for more precise bug hashing
7 years ago
Jules Villard 5b3c2c0901 [clang] fix evaluation order bug discovered by building with OCaml 4.05.0
7 years ago
Martino Luca 740e9973d6 Replace existing calls to `exit` with InferExit exceptions to better control flow of executions
7 years ago
Martino Luca e247492901 [AL] Validate AST node names in AL source files
7 years ago
Sam Blackshear 14fa4aa7d9 [clang][dead stores] translate init-capture expressions
7 years ago
Daiva Naudziuniene 879891a3af [destructors] Injecting destructor calls of base classes
7 years ago
Daiva Naudziuniene 5ee61a4019 [destructors] Refactoring destructor translation.
7 years ago
Sam Blackshear 9772b2299d [clang] translate user-defined literals
7 years ago
Sam Blackshear de9d8f45ff [clang] partial translation of vector instructions
7 years ago
Sam Blackshear b4c0ddcff3 [cleanup] kill `Config.frontend_debug`
7 years ago
Dulma Churchill 47221ab273 [linters] Add support for Cxx structs when querying types
7 years ago
Dulma Churchill ecd79a56d3 [linters] Support transition Parameters also by ObjC method calls
7 years ago
Dulma Churchill 47088e078e [linters] Use the sdk version by path in the error message of unavailable api check
7 years ago
Jules Villard 1c375a17ac [log] die more appropriately
7 years ago
Daiva Naudziuniene 3e660b05ee [destructors] Injecting destructors of fields to destructor bodies.
7 years ago
Dulma Churchill 5ead13a225 Fixing crash that happened when reporting a lint issue in a templated method.
7 years ago
Daiva Naudziuniene 02c2e2b5bf Added a function to test if procdesc is a destructor.
7 years ago
Dulma Churchill 9f19f12a1b [linters] Fix incorrect assert false in Component linters
7 years ago
Roy Li 76bc7d686c Add predicate for enum constants of a particular enum
7 years ago
Martino Luca e8a0599850 [AL] add `--linters-validate-syntax-only` to check whether there are any syntax errors in AL files
7 years ago
Martino Luca 3576f2f7cc [AL] New exception ALFileException with source-location info
7 years ago
Martino Luca 98b1f74071 Refactor AL parser's exception into a separate module
7 years ago
Dulma Churchill 30d2822846 [linters] Restrict the remove observer check to when target ios sdk version is greater or equal than 9.0
7 years ago
Dulma Churchill a3309926b3 [linters] Add transition parameter with label for ObjC method declarations or method calls
7 years ago
Dulma Churchill 673f2b6917 [linters] Add option to specify iphone sdk version by path
7 years ago
Dulma Churchill a6f8850617 [linters] Provide predicate for checking the current method in the context
7 years ago
Dulma Churchill 3da5908728 [linters] Remove unavailable api class false positives and turn it on
7 years ago
Dulma Churchill 336f6f8dff [linters] Support reference types in the linters type parser
7 years ago
Jules Villard 69299ba675 [filtering] improve issue type filtering CLI
7 years ago
Martino Luca 17cc5ec7be Remove unsupported `index-store-path` argument from clang commands
7 years ago
Meng Zhang cdc54563d4 [Infer] Write a has_visibility_attribute predicate for AL
7 years ago
Andrzej Kotulski de6c396800 [docs] Extend src/clang/README.md with info about AST
7 years ago
Jules Villard f5ee50e7b5 [graphql] kill unused files
7 years ago
Andrzej Kotulski 6ca447fa6a [C] Fix issue with enum initialization lists
7 years ago
Andrzej Kotulski 88b74d524d [C++] Rewrite initListExpr_trans
7 years ago
Sam Blackshear 73dba57e45 [cleanup] remove useless append_instrs on empty instruction list
7 years ago
Jia Chen a718ebe8ec [frontend] Additional information for the backend to distinguish between pass-by-val args and pass-by-ref args
7 years ago
Daiva Naudziuniene f12616cea5 [destructors] Add scope management to clang frontend
7 years ago
Dulma Churchill 00c1b354e1 [linters] Improve to_string method for boxed values
7 years ago
Dulma Churchill d0858c7770 [linters] Improve the to_string method for string constants
7 years ago
Josh Berdine b36eaa2618 [clang] Disable -fembed-bitcode
7 years ago
Andrzej Kotulski c2207f5b06 small fixes to infer/src/*/README.md files
7 years ago
Jeremy Dubreil bf11a27158 [infer] merge --failures-allowed and --keep-going
7 years ago
Sam Blackshear cb9c768c61 [clang] translate vars captured by lambda
7 years ago
Dino Distefano a386ef5e83 Adding predicate for identify a selector with a particular name
7 years ago
Martino Luca a15d868fb0 Upgrading Infer to Clang 5.0
7 years ago
Jules Villard 845114f570 [al] precompute regexps
7 years ago
Jia Chen 3bacba762a Whitelist the constructors+conversion operators+destructors for classes listed on whitelisted_cpp_classes
7 years ago
Andrzej Kotulski d4c728913a [clang] Ignore all -mllvm args passed to clang -cc1
7 years ago
Dulma Churchill 416478d453 [linters] Predicate for checking enum constants
7 years ago
Josh Berdine 6bbb186ce2 [format] Attach docstrings to be warning 50 clean, other doc fixes
7 years ago
Andrzej Kotulski e366b0d9b5 [clang] Fix expression statement with conditional inside
7 years ago
Jia Chen 0b641edaac Do not assign the hidden field when processing init list initialization for objective c
7 years ago
Dulma Churchill 4a6652faef [linters] Do not report mutable local variable in components advice on static locals
8 years ago
Dulma Churchill 7c384669eb [linters] Add a new linter UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK for checking unavailable classes in supported ios sdk
8 years ago
Josh Berdine bab3d81cb0 Convert Reason to OCaml, and auto-format OCaml
8 years ago
Josh Berdine f07de2d9c9 Replace long structured string literals with 'quoted strings'
8 years ago
Dulma Churchill 8e078c33d7 [linters] Print active linters to the stdout when --print-active-checkers is passed
8 years ago
Andrzej Kotulski b8e679dfeb [generic models] Implement sample generic models, add code to handle them
8 years ago
Dulma Churchill 144e062684 [linters] Take instancesRespondToSelector into account to avoid FPs
8 years ago
Dulma Churchill 3aa68e23d9 [linters] Be able to specify human readable bug type in the rules
8 years ago
Dulma Churchill 431b5c6ede [linters] Disable filtering by path in debug or no-filtering mode
8 years ago
Daiva Naudziuniene 77e3110adc Propagating access of Decl from clang plugin to ProcAttributes.
8 years ago
Josh Berdine e04dd37df3 update opam deps
8 years ago
Andrzej Kotulski a864b4068f [clang IR] Change Fieldname.t to store typename
8 years ago
Andrzej Kotulski 61aa7aaae5 Move Fieldname module inside Typ
8 years ago
Dino Distefano 4a5d0e0b55 Adding ability to express properties on the hierachy of protocols
8 years ago
Dulma Churchill 7d680b3b0c [linters] Add an optional doc_url field to linters to specify the url to some documentation online.
8 years ago
Sungkeun Cho f8b8dd1abb [infer] Parse unsigned short (uint16_t) as IUShort
8 years ago
Dulma Churchill 2d1a8f4940 [linters] Remove leftover code related to paths
8 years ago
Dulma Churchill 72802024b3 [linters] Fix unavailable api check to take the avaiability attribute into account when it's not the first one in the list.
8 years ago
Jia Chen a6757be036 Force emitting prune node for C++ comparison expressions
8 years ago
Andrzej Kotulski 4ce997c8f0 [clang] blacklist -profile-guided-section-prefix
8 years ago
Dulma Churchill 855b87e5d9 [linters] Remove internal error warning that is not really an error
8 years ago
Dulma Churchill 45a8e48e00 [linters] Adapt the debugger and linters-developer-mode to the new logs
8 years ago
Dulma Churchill 47f1c6ffac [linters] Global paths
8 years ago
Dulma Churchill 99a0f894b6 [linters] Add option to blacklist the unavailable api check for some files
8 years ago
Dulma Churchill dfca0cdcf7 [linters] Introduce whitelist and blacklist path, also multiple paths
8 years ago
Andrzej Kotulski cf8d5483db [C++] Add option to exclude header models from compilation
8 years ago
Dulma Churchill 57dd45dd82 [linters] Improve the error message in implicit cast error
8 years ago
Dino Distefano 55da0055c9 Predicate for `using namespace`
8 years ago
Jules Villard b449b8c735 [wibble] refactor error output
8 years ago
Jules Villard 93cc3266e8 [log] log to a single file with different categories and debug levels
8 years ago
Jules Villard 03bd3f1df1 [log] append ERROR in front of `failwith` toplevel messages
8 years ago
Jules Villard b50f9f2695 [police] open IStd everywhere
8 years ago
Jules Villard 644066f4be [driver] make clear when the results dir becomes available
8 years ago
Jules Villard 1727bd4125 [clang] clang pointer map becomes a clang pointer hashtbl
8 years ago
Jia Chen c0e20e0880 Propagate C++ noexcept annotation from frontend to backend
8 years ago
Dulma Churchill 03bdf0fe2c [linters] Cast from pointer to integer
8 years ago
Martino Luca 2e8e5733f6 [AL] Load AL files from a directory
8 years ago
Dino Distefano 0809279b3b Extending type parser to deal with typedefs
8 years ago
Andrzej Kotulski 5522365479 [IR] Add Typ.TVar variant to Typ.desc
8 years ago
Dulma Churchill 46a539df82 [linters] Specify path in linters
8 years ago
Dulma Churchill f5d3870485 [linters] Adding a new error type like
8 years ago
Martino Luca d5fbb298eb Skip compilation of certain source files, if desired
8 years ago
Jules Villard 71f20908a1 [logging] revert to using `assert false` since we catch `Assert_failure` in some places
8 years ago
Dulma Churchill a7cff528fa [linters] Disable components factory function rule
8 years ago
Dino Distefano 4e7c7f30c1 Extended transitions to universal quantified operators
8 years ago
Jules Villard 741e527826 [console] print progress-like messages on stderr
8 years ago
Dino Distefano bdd2395be6 Adding ability to get type of paramters.
8 years ago
Dino Distefano cfd0a9b038 Extending type parser to parse ObjC classes.
8 years ago
Jules Villard 4266360606 [build] taking the .mli into account actually broke the build
8 years ago
Jules Villard 8dacc2df94 [build] move ctl_parse_types.mli to the right place
8 years ago
Jules Villard 252c78bb0e [clang] initialize dynamically-size stack-allocated arrays
8 years ago
Jules Villard 93ec47a5f4 [IR] add stride to array type
8 years ago
Jules Villard 801c605c26 [CLI] switch to infer-<command> (symlinks) executables
8 years ago
Jules Villard 709376945f [config] migrate help to use man pages
8 years ago
Dino Distefano 99552edd7b Extending type parser to parse pointer types.
8 years ago
Dulma Churchill 68f957ac97 [linters] Print name and type of the node in the debugging
8 years ago
Dulma Churchill d04a03b8e3 [linters] Remove redundant predicate
8 years ago
Dulma Churchill c9670d215d [linters] Add new predicate has_type and check for implicit cast
8 years ago
Dino Distefano c6a29e5e8a Adding more builtin type to parser
8 years ago
Jules Villard 29f7967f26 [build] remove unused values
8 years ago
Mehdi Bouaziz 5a57be9003 [infer][checkers] remove the bufferoverrun analyzer option and rely on the --bufferoverrun flag only
8 years ago
Mehdi Bouaziz 174c0091ae [inferbo] std::vector model for inferbo
8 years ago
Ryan Rhee 62e4364085 [componentkit] Whitelist CKComponentKey
8 years ago
Ryan Rhee 9f65b0d3fa [componentkit] Whitelist CKComponentContext
8 years ago
Sam Blackshear 6680126af9 [cleanup] replace Location.dummy with Location.none where acceptable
8 years ago
Dulma Churchill 1a141eddca [ObjC capture] Model functions related to dispatch sources
8 years ago
Dulma Churchill 6097c05d88 [clang] Add a preanalysis to compute nullability annotations
8 years ago
Dino Distefano 5bb41cc18c Removing predicates _strict
8 years ago
Dino Distefano 3c6f53c896 Adding predicate to get return type of a method and start a new parser for types
8 years ago
Andrzej Kotulski c1147710ba [C++] Store class template name without its template arguments
8 years ago
Jeremy Dubreil 250d9cb8b3 [infer] the function to pretty-print the call graph does not need to access the analysis summaries
8 years ago
Andrzej Kotulski 7a0c4d9031 add more quals to SIL
8 years ago
Andrzej Kotulski aefbbe8680 [clang] Translate type qualifiers into Sil
8 years ago
Jules Villard 1b0ee6fbc3 [clang] add sizeof static value to translation
8 years ago
Andrzej Kotulski db3c07a631 [clang frontend] Pass type qualifiers through frontend
8 years ago
Andrzej Kotulski 029499cd9d [IR] add type qualifiers to Typ.t
8 years ago
Dulma Churchill 69afe434a9 [clang] Add a flag to get around missing files in the buck integration
8 years ago
Andrzej Kotulski e742d5bb7b [clang] Replace Prebuilt type_ptr with Typ.t
8 years ago
Martino Luca 05a9270b13 [CTL] Attach CTL debugger to breakpoints in source code
8 years ago
Andrzej Kotulski a81f4e7bf9 Remove custom Clang_ast_types module, extend types instead
8 years ago
Andrzej Kotulski 6d360fb84a [C++] Replace clang_include_to_override with regex
8 years ago
Martino Luca 2e3b9a30ab [CTL][Debug] Fix colouring issue
8 years ago
Jules Villard 857eae7c6b [build] address warnings 52 and 57
8 years ago
Jules Villard dd2c56da06 be more careful about handling invalid source files
8 years ago
Dulma Churchill 07c9e71399 [linters] Improve linter developer mode
8 years ago
Jules Villard b349fb147c [build] upgrade Reason to 1.13.3
8 years ago
Dino Distefano 7cef8ae3b5 Making AL distinguish class methods from instance methods
8 years ago
Andrzej Kotulski 3cdb0e04f5 [SourceFile] Move append_crc_cutoff to DB module
8 years ago
Dulma Churchill da0e0305f0 [linters] Make fail with syntax error appear at the end of the stderr in linters developer mode
8 years ago
Martino Luca b956d2ddef [CTL] Initial version of a step-by-step debugger for CTL formulas
8 years ago
Andrzej Kotulski 5503487704 [C++] Introduce mechanism to write generic models
8 years ago
Dulma Churchill 6c3cc6fca4 [linters] Do not return a dummy ctl formula from the hardcoded linters
8 years ago
Dulma Churchill 9a9dec4d96 [linters] Disable hard_coded linters in linters developer mode
8 years ago
Andrzej Kotulski 21af28619f [C++] Use annotate attribute instead of deprecated
8 years ago
Jules Villard cccefd6434 [driver] better user error messages
8 years ago
Dulma Churchill f4bc0db2b4 [clang] Make capture with simple clang command be a method call
8 years ago
Dino Distefano 3ebf8c3277 Added the capability to import macros files in AL
8 years ago
Andrzej Kotulski f598360786 [C++] Make QualifiedCppName.t reversed list
8 years ago
Dino Distefano d32faf4f46 Replacing strings by a new data type for AL variables
8 years ago
Andrzej Kotulski fbddeba8a7 [clang] Don't inline global var initializers
8 years ago
Dino Distefano 40e63aa42c Added the capability to define macros in AL
8 years ago
Andrzej Kotulski 2cc972705a [clang] Make backend use QualifiedCppName.t instead of string
8 years ago
Andrzej Kotulski 4da4949049 [clang][AST] Fix wrong type in translation of NoOp cast and MaterializeExpr
8 years ago
Andrzej Kotulski 2b655c223f [clang] Use QualifiedCppName.Match for infer_traits::TranslateAsType
8 years ago
Andrzej Kotulski ade5a06cd4 [IR][clang] Use qualified cpp name in fields, improve errdesc.ml
8 years ago
Andrzej Kotulski 71702a13dc [IR] More detailed type for Fieldname.t
8 years ago
Andrzej Kotulski e6ebad394e [IR] Make qualified names type safe
8 years ago
Andrzej Kotulski 7c64d217f2 [IR] Refactor Ident.fieldname _*into Fieldname module
8 years ago
Andrzej Kotulski 9a07318ab7 [IR] Simplify Typ.Name.t type by inlining Csu.t type
8 years ago
Martino Luca a7b947f971 Add support to format reports natively
8 years ago
Dulma Churchill 565ce2166d [ios] Translate nonnull annotations and take them into account in parameter not null checked issues.
8 years ago
Andrzej Kotulski 42947ea9d9 [IR] Make template info part of Typename.t, rename Typename to Typ.Name
8 years ago
Dino Distefano df543b900b Making easier to specify subclassing
8 years ago
Dulma Churchill fca8322c1f [linters] Save the linters definition file in the report.json
8 years ago
Andrzej Kotulski 24b56de0e9 Populate mangled file only if it's not empty
8 years ago
Andrzej Kotulski f4c424b4cc [clang frontend] Cleanup CAst_utils
8 years ago
Andrzej Kotulski 6c67c850d5 [clang capture] Don't attach plugin when clang is invoked in preprocessor mode
8 years ago
Andrzej Kotulski 41c9b05b47 [clang frontend] assert false on param mismatch
8 years ago
Dino Distefano 43f3a33c0c [infer][AL-DSL] Added predicates to query method calls of a certain class (Real Version).
8 years ago
Dulma Churchill cdd58da8b1 [linters] Save the linters file in the linter definition
8 years ago
Andrzej Kotulski 06ac72c311 [clang] Pass template instantiation info to procnames in clang
8 years ago
Andrzej Kotulski 925d73efce [clang] Add template instantiation info into Procname.t
8 years ago
Andrzej Kotulski e363958d34 [codemod] Move `Procname` into `Typ.Procname`
8 years ago
Dulma Churchill 6f25eefc1d [linters] Make the syntax error message more prominent
8 years ago
Andrzej Kotulski e08d9341c8 [clang] Run direct tests with --no-failures-allowed flag
8 years ago
Andrzej Kotulski 55b18df306 [clang] Make translation failures crash InferClang when --no-failures-allowed is set
8 years ago
Andrzej Kotulski 104acee99d [Sil] Create Typename.Obj/Cpp modules with constructors
8 years ago
Andrzej Kotulski 1a9b81c0f4 [clang] Store Typename.t in Procname.ObjC_Cpp.class
8 years ago
Andrzej Kotulski b52a17eb75 [objc] Remove class information from CContext
8 years ago
Andrzej Kotulski bc852ec0d1 [Typ] Add instantiation types to StructTyp.t
8 years ago
Dulma Churchill 15a0662149 [clang] Adding annotations for ObjC instance variables
8 years ago
Dulma Churchill f549d58625 [ios] Capture the signature of getters and setters from headers.
8 years ago
Dulma Churchill 60f732bf7e [clang] Refactor annotation generation to a separate place
8 years ago
Dulma Churchill 01c1d9f112 [linters] Remove new lines from linters messages
8 years ago
Andrzej Kotulski 171083fbba [clang] Move mk_procname_ functions to separate module
8 years ago
Dulma Churchill 04d96cb84b [ios] Remove methods from the tenv as they are not used in the backend
8 years ago
Josh Berdine 95725e4dd0 Refactor StructTyp to Typ.Struct
8 years ago
Andrzej Kotulski f5bb35e245 [C++] Don't put c++ methods into type environment
8 years ago
Cristiano Calcagno 9a06a859e2 Deprecate IList part 3.
8 years ago
Cristiano Calcagno b1b5460529 Deprecate further IList functions
8 years ago
Dulma Churchill 461bd691ce [clang] Translate nullable annotations of return types of methods
8 years ago
Ryan Rhee 91aad00e3c [GraphQL] Detect deprecated API usage
8 years ago
Andrzej Kotulski c7abd82d44 [clang] Translate structs on demand
8 years ago
Cristiano Calcagno 41c5be9bad Deprecate more IList functions
8 years ago
Dulma Churchill 02ff6589ae [debug] Adding a method for prnting captured method signatures and add the list to the logs
8 years ago
Andrzej Kotulski 957b67fa87 [clang] Update fcp plugin
8 years ago
Cristiano Calcagno 731dead406 More IList deprecation: fold functions
8 years ago
Jules Villard f1698f3816 [clang] reimplement fuzzy matching of list of qualifiers
8 years ago
Jules Villard a469e97987 [siof] add --siof-safe-methods whitelisting option
8 years ago
Dulma Churchill 6c82e82444 [linters] Fix one more unavailable api false positive
8 years ago
Jules Villard a8be4f1f4f [clang] options rename: --compilation-database -> --buck-compilation-database, --clang-compilation-db-files -> --compilation-database
8 years ago
Jules Villard 528f05430b [clang] rename --skip-clang-analysis-in-path to --skip-analysis-in-path
8 years ago
Jules Villard e4bb0fd179 [clang] pass -Wno-ignored-optimization-argument to clang
8 years ago
Cristiano Calcagno 60916922c6 Deprecate more IList functions and use Core List instead
8 years ago
Dulma Churchill 9ac65a7b1d [linters] Take current os version into account in the unavailable api check
8 years ago
Dulma Churchill dbcb871988 [linters] Add extra case of respondsToSelector block
8 years ago
Dino Distefano fb14d31bb7 Making signature of predicates uniform
8 years ago
Dulma Churchill acce173eb8 [Linters] Move unavailable api check to the linters rule file
8 years ago
Jules Villard 4584bf9a4c move CLOpt.exe to Config and restrict its API, remove Interactive fake exe
8 years ago
Cristiano Calcagno 5c12d98d37 Deprecate IList module in favour of Core List
8 years ago
Dulma Churchill ffd82c01a7 [clang] Fail when compilations fails in the capture, linters mode
8 years ago
Andrzej Kotulski f697739b21 [C++ translation] Use correct type when generating dereference
8 years ago
Dulma Churchill 269ea5ffe5 [linters] Take into account the respondsToSelector block in the unavailable api check
8 years ago
Andrzej Kotulski b3e9eedd59 [clang frontend] Make DeclStmt return empty exps
8 years ago
Dulma Churchill 2c767fce74 [linters] Clean up the context passing mechanism and add context for if
8 years ago
Andrzej Kotulski dd3de5b011 [clang frontend] Create nodes for dangling instructions
8 years ago
Cristiano Calcagno b1421bc27f [BetterEngineering] Remove remaining uses of polymorphic equality
8 years ago
Cristiano Calcagno adc68c6d57 [clang] Remove unnecessary list append in clang frontend
8 years ago
Andrzej Kotulski 3c482da094 [compilation db] fix problems with buck compilation database integration
8 years ago
Cristiano Calcagno f7b03d53ce [clang frontend] Fix variable shadowing in ObjcInterfaceDecl
8 years ago
Cristiano Calcagno af83d1eefe [clang] Minor clang frontend cleanup: remove dead code and renaming
8 years ago
Cristiano Calcagno f605cb4b7e [clang cleanup] Split CFrontend_utils module into CAst_utils and CGeneral_utils
8 years ago
Cristiano Calcagno b0e6ed8b35 [clang frontend] Eliminate use of expensive list append
8 years ago
Dino Distefano 45cf368ab9 Using checkers defined in linter.al and removed hard-coded checkers.
8 years ago
Josh Berdine 8c42cfb364 Add root dir argument to Utils.filename_to_absolute
8 years ago
Ryan Rhee b557b49921 [componentkit] Initializer rule should return multiple issues
8 years ago
Ryan Rhee 4e37677eeb [clang] Prep rules to potentially emit multiple issues
8 years ago
Jeremy Dubreil 4bca15afff [infer][backend] Add the distinction between models and regular procedure as part of the attributes
8 years ago
Andrzej Kotulski acdc081100 [C++] Make C++ whitelist matching more strict
8 years ago
Dulma Churchill 9f153dbafa [linters] Add linter for checking api compatibility
8 years ago
Martino Luca b5124c1506 [CTL] Remove linters' names from Localise module
8 years ago
Martino Luca d044809b32 [CTL] Filter linters through a visibility flag
8 years ago
Martino Luca ebb6931358 [CTL] Let issue name be a string for linters
8 years ago
Dino Distefano 4682393cd6 Use place-holders string in messages
8 years ago
Jules Villard f2a5810141 [clang] remove InferClang command from generated frontend debug scripts
8 years ago
Andrzej Kotulski c9d254c084 Initial version of reactive capture
8 years ago
Dulma Churchill 5b39b3e323 [ObjC] Model methods from NSArray
8 years ago
Andrzej Kotulski 01b57b4f38 [clang] Always compile with -O0 flag
8 years ago
Dino Distefano aa231e5129 [CTL] Expanding formula id with their definition
8 years ago
Josh Berdine fc976bc3ef Core.Std.( ^/ )
8 years ago
Josh Berdine 7834c95bc8 Silence deprecation warnings
8 years ago
Josh Berdine 2e66dcfac4 Open Core.Std by default, still use Caml Hashtbl, Map, Set
8 years ago
Josh Berdine e438314776 Divide Utils into Utils, Pp, and IStd
8 years ago
Josh Berdine 23cda11fda Core.Std.Int.Set
8 years ago
Josh Berdine e00c4cd2dd Core.Std.String.Set and remove unused StringPPSet
8 years ago
Josh Berdine f86fc2ce2d Core.Std.Stack
8 years ago
Josh Berdine c2abce7e3a Core.Std.Array
8 years ago
Josh Berdine de2e6c9d88 Core.Std.Option
8 years ago
Josh Berdine 4ea3410b47 Core.Std.Sys
8 years ago
Josh Berdine 9d1b495f57 Core.Std.Unix
8 years ago
Josh Berdine 53c170ca0a More uniform and explicit treatment of program and arguments
8 years ago
Josh Berdine e415b73786 Core.Std.String
8 years ago
Andrzej Kotulski 78dfe85468 [clang] Make sl_file store source file instead of string
8 years ago
Andrzej Kotulski 56f8757337 [SourceFile] Move DB.SourceFile into separate file
8 years ago
Jules Villard e5863f5420 [siof] handle constexpr constructors
8 years ago
Andrzej Kotulski 69b39dacb0 [DB] Create module for SourceFile
8 years ago
Andrzej Kotulski e4a93d5e13 [c++] s/cxx_experimental/cxx
8 years ago
Jeremy Dubreil e029612421 [infer][backend] the pp_base parameter was not used anywhere
8 years ago
Jules Villard 9cc9cc101c [IR] add Static_local_var pvar kind and use it in clang
8 years ago
Andrzej Kotulski bd843b277e [DB] Remove source_file_from_string, source_file_to_string no longer returns real path
8 years ago
Andrzej Kotulski b8908282f8 [DB] Remove many callsites of DB.source_file_to_string
8 years ago
Josh Berdine 198bc00df7 Remove Utils compare and equal functions
8 years ago
Josh Berdine 0c8a583cb0 ppx_compare CFrontend_utils
8 years ago
Josh Berdine e397afa085 ppx_compare CContext
8 years ago
Josh Berdine a1e223d36d ppx_compare Ident
8 years ago
Josh Berdine 1ca67fbfa6 ppx_compare DB
8 years ago
Josh Berdine 1bc365f36e ppx_compare Clang_ast_types
8 years ago
Andrzej Kotulski 9d6a6510e8 [clang] Translate everything coming from <X>.h files when translating <X>.cpp source
8 years ago
Andrzej Kotulski 6192cb98b4 [DB] Use realpath when calling source_file_from_abs_path
8 years ago
Dino Distefano 116e90d38c Added parsing for InNode and ETX and added formulas of missing checkers
8 years ago
Martino Luca 950eca3cb3 [CTL] Add support for `in_node` predicate to check correctness of its inputs
8 years ago
Ryan Rhee 28b741e62c [componentkit] Compute Cyclomatic Complexity
8 years ago
Andrzej Kotulski 7a0a89e567 [DB.source_file] Explicitly specify what path is relative to, keep cpp model paths relative
8 years ago
Ryan Rhee ccb51912e1 [componentkit] Compute line count for main file
8 years ago
Martino Luca 7c9612b06b [CTL] Add support for is_unop_with_kind/is_binop_with_kind predicates to check correctness of their inputs
8 years ago
Dulma Churchill e8085d5996 [linters] Fix perf problem in the linters, added tests
8 years ago
Ryan Rhee a2c8c94a3b [componentkit] Move is_in_main_file check to CTL
8 years ago
Jules Villard 17179d4275 [siof] take POD into account
8 years ago
Jules Villard 68332a16a0 [clang] always print clang errors on stderr
8 years ago
Dino Distefano 0ed033a32e Removing the dispatcher for linters.
8 years ago
Andrzej Kotulski 4512fcd8ef [tests] Create integration tests for clang translation logic
8 years ago
Andrzej Kotulski 1a4d165d44 [utils] Cache results of realpath
8 years ago
Dino Distefano 6ffaded4be Modified the hardcoded CTL formulas in preparation to dispatcher removal
8 years ago
Jules Villard 5bd8b7fa95 [make] compatibility with Debian testing
8 years ago
Jules Villard caf9537305 [refactoring] add make_trace_element to Errlog
8 years ago
Cristiano Calcagno c5159bae1c [IR] Move Procdesc module to a separate file.
8 years ago
Josh Berdine b2680d72d0 [config] Make Config.analyzer non-optional, with None = Some Infer
8 years ago
Andrzej Kotulski 459ec32081 kill Location.nLOC
8 years ago
Jules Villard cbe15b3b5a [build] move not-clang-only modules to a new (old) integration/ directory
8 years ago
Andrzej Kotulski 1cbc812502 System calls to filesystem are expensive, call them with care
8 years ago
Andrzej Kotulski 4d43f0e5d8 [clang] Remove CLocation.curr_file
8 years ago
Dulma Churchill bf14034289 [clang] Do compilation database capture in OCaml directly
8 years ago
Jules Villard 8c481d2d9f [clang] pass -fno-cxx-modules to clang -### instead of the clang -cc1 commands
8 years ago
Cristiano Calcagno e933ee958a [IR] Rearrange the cfg module to make nodes, procd descs, and cfgs independent types.
8 years ago
Josh Berdine 2ce94632d2 [config] Default project_root to initial working dir
8 years ago
Andrzej Kotulski 76d336dba7 [clang capture] Exit clang capture when clang fails
8 years ago
Andrzej Kotulski 28827b461a [clang] Get translation unit language from AST dump
8 years ago
Jules Villard c93bbbbbc5 [clang] run assembly commands with the fcp clang
8 years ago
Josh Berdine e747d21e0c [refactor] Rename CTypes and CTypes_decl modules
8 years ago
Andrzej Kotulski aa3ebf117c [clang] Kill CFrontend_config.json field
8 years ago
Dulma Churchill 6b793a34b5 [clang] Fix crash in analysis of ios apps with json
8 years ago
Cristiano Calcagno 73c5dfdfa4 [IR] Remove use of Cfg.Node.get_proc_desc
8 years ago
Andrzej Kotulski e9ccdb7d50 [clang capture] Make sure to always run clang from facebook-clang-plugins
8 years ago
Andrzej Kotulski 46592ffdd9 [backend] Split construction of builtin pnames and builtin registration
8 years ago
Josh Berdine eee940b2a1 [config] Convert FCP env vars to Config options
8 years ago
Andrzej Kotulski ed29bfef52 [logging] Provide binary type to logging module
8 years ago
Josh Berdine 698ebe8049 [clang] Remove INFER_XX environment variable
8 years ago
Dino Distefano 622366269d Simplified semantics of ET and EH
8 years ago
Ryan Rhee aac14999b0 [componentkit] Whitelist Native Templates
8 years ago
Ryan Rhee a45d59e478 [componentkit] Don't count unavailable initializers
8 years ago
Jules Villard f21db5dab5 [clang] compare file paths in a more principled way
8 years ago
Cristiano Calcagno 3fb8801b6c [IR] Change cfg representation so the node number is per-procedure and not per-cfg
8 years ago
Ryan Rhee 5752b14d9c [componentkit] Skip implicit variables during MLV check
8 years ago
Ryan Rhee 5580be8dcc [componentkit] Initializer With Side-Effect Analyzer
8 years ago
Dulma Churchill 4f6aa5e408 [clang] Parse compilation database coming from xcpretty
8 years ago
Andrzej Kotulski 8ea40b29b0 [clang] Allow to call InferClang as a function
8 years ago
Jules Villard 84af7c56f8 [SIOF] detect which variables need initialization
8 years ago
Dulma Churchill 4af26064c1 [clang] Add flag -fno-cxx-modules to analysis
8 years ago
Cristiano Calcagno ecda199e9d [IR] Clean up unused parts of Cfg
8 years ago
Sam Blackshear 355ab92130 [backend] move expression pretty-printing into exp module
8 years ago
Jules Villard a31658a9b8 [clang] treat constexpr as const too
8 years ago
Ryan Rhee 471beed515 [componentkit][clang] Move is_factory_method to Ast_utils
8 years ago
Ryan Rhee db94cae74b [componentkit] Use type hint instead of explicit record for is_ck_context
8 years ago
Dino Distefano 28b15c06af Fixing warning on parser.
8 years ago
Ryan Rhee c2a8dae26f [componentkit] Multiple factory methods
8 years ago