151 Commits (ddfa6fc96ec80c0335893f516cb54d54113d4104)

Author SHA1 Message Date
Mitya Lyubarskiy 71fd925d7f [nullsafe] Slightly more functional style for ThirdPartyAnnotationInfo storage
5 years ago
Mitya Lyubarskiy 108473e97b [nullsafe] Changes in wording of error messages: unified and more clear language
5 years ago
Mitya Lyubarskiy b860336640 [nullsafe] Render origin in a more light weight way
5 years ago
Mitya Lyubarskiy e0b688ceab [nullsafe] Don't render type origin in trivial cases
5 years ago
Mitya Lyubarskiy bd1b55ef51 [nullsafe] Methods rendering the error accept TypeOrigin.t instead of string
5 years ago
Mitya Lyubarskiy 2b53fe543f [nullsafe] TypeOrigin has a special case for array access
5 years ago
Mitya Lyubarskiy 91282fbcbe [nullsafe][TypeOrigin refactor] Get rid of `set_nonnull`
5 years ago
Mitya Lyubarskiy 7409f5d05f [nullsafe] InferredNullability's nullability is determined by TypeOrigin
5 years ago
Mitya Lyubarskiy 28c6ed2ceb [nullsafe][TypeOrigin refactor] Rename 0None -> OptimisticFallback
5 years ago
Mitya Lyubarskiy 4016ae2320 [nullsafe] Split TypeOrigin.Formal into MethodParam and This
5 years ago
Mitya Lyubarskiy 66119352a2 [nullsafe][TypeOrigin refactor] Massage TypeOrigin.Field and TypeOrigin.Proc
5 years ago
Mitya Lyubarskiy 8e3f1b33b5 [nullsafe][TypeOrigin refactor] introduce TypeOrigin.ArrayLengthResult
5 years ago
Mitya Lyubarskiy 4a81a69fb3 [nullsafe][TypeOrigin refactor] Split TypeOrigin.Const to nullable and non-nullable constants
5 years ago
Josh Berdine 8d20e4d64d [ocamlformat] Upgrade ocamlformat version
5 years ago
Mitya Lyubarskiy c3a62b808a [nullsafe] Split a gigantic function in TypeCheck.ml into many
5 years ago
Mitya Lyubarskiy 6db340a501 [nullsafe] Don't ignore third party code in Strict mode
5 years ago
Mitya Lyubarskiy 42397d2168 [nullsafe] Respect external models when decide wether to report on passing wrong param or not
5 years ago
Mitya Lyubarskiy cc83c1018b [nullsafe] Path to third-party signatures can be accepted in absolute or relative forms.
5 years ago
Mitya Lyubarskiy 027ff479d1 [nullsafe] 3rd party annotations from the repo are respected in nullsafe
5 years ago
Mitya Lyubarskiy 3d2df4cc3c [nullsafe] Functionality to load 3rd party info from the storage
5 years ago
Mitya Lyubarskiy 7ea42938fe [nullsafe] In-memory storage for accessing nullability information
5 years ago
Mitya Lyubarskiy f2cd03a11e [nullsafe] More rigid format for 3rd party annotation repo
5 years ago
Mitya Lyubarskiy 688deb0936 [nullsafe] Signature and nulllability of a third party method
5 years ago
Nikos Gorogiannis e9b0ca9ce4 [AI] rename Domain.( <= ) to Domain.leq
5 years ago
Mitya Lyubarskiy f9b0d06826 [nullsafe] Primitive types are always Nonnull
5 years ago
Mitya Lyubarskiy 0f1187a3a3 [nullsafe] Make Strict mode respect static methods
5 years ago
Mitya Lyubarskiy 64c5530f3d [nullsafe] nit: small change in the signature for over-annotated rule
5 years ago
Mitya Lyubarskiy 6511b2052a [nullsafe] Introduce Strict mode
5 years ago
Mitya Lyubarskiy 4d52e874fc [nullsafe] Introduce DeclaredNonnull
5 years ago
Mitya Lyubarskiy 681f853b20 [nullsafe] Consolidate logic specific to particular rules in dedicated modules
5 years ago
Mitya Lyubarskiy 92f765a948 [nullsafe] Unify issue types
5 years ago
Mitya Lyubarskiy 46ae3580c2 [nullsafe] Simplify signature of InferredNullability.join
5 years ago
Mitya Lyubarskiy 303263eb2e [nullsafe] Don't join types in a fancy way.
5 years ago
Mitya Lyubarskiy cf6c78a64a [nullsafe] Remove calculating locations in typestate `range`
5 years ago
Jules Villard 42470d8809 [hmm] sexp_{option,list} -> {option,list}
5 years ago
Mitya Lyubarskiy 4b6f996c0a [nullsafe] Consolidate over-annotated issues
5 years ago
Mitya Lyubarskiy fcd0efb7ba [nullsafe] Consolidate various things checking dereference and get rid of misleading names
5 years ago
Mitya Lyubarskiy 72dc6c66b1 [nullsafe] Introduce dereference rule and consolidate its usage
5 years ago
Mitya Lyubarskiy 62f6041906 [nullsafe] Introduce Nullability module and make NullsafeRules use it
5 years ago
Nikos Gorogiannis 965bf52bf8 [filtering/dedup] add deduplicate flag and disambiguate filtering
5 years ago
Mitya Lyubarskiy 7b37d8a3cf [nullsafe] Introduce explicit non-null methods in InferredNullability
5 years ago
Mitya Lyubarskiy 2ef9686d06 [nullsafe] Improve readability of the check for constructor initialization
5 years ago
Mitya Lyubarskiy e21a5ddda5 [nullsafe] Move Initializer to a dedicated module
5 years ago
Mitya Lyubarskiy df5ccc1b10 [nullsafe] Move `get_field_annotation` out of EradicateChecks to a dedicated module
5 years ago
Mitya Lyubarskiy 34cfa20faf [nullsafe] Migrate checks for inheritance to NullsafeRules
5 years ago
Mitya Lyubarskiy 9a65453a77 [nullsafe] Use AnnotatedNullability instead of `ia_is_nullable` when checking the typestate at the end of class initialization
5 years ago
Mitya Lyubarskiy 53802064bb [nulllsafe] Migrate check for field assignment to NullsafeRules
5 years ago
Mitya Lyubarskiy 0a353da6d9 [nullsafe] Split NullsafeType into AnnotatedNullability and AnnotatedType
5 years ago
Mitya Lyubarskiy 900e451567 [nullsafe] Look at NullsafeType in check_return_annotation instead of looking it up in Annot.Item.t
5 years ago
Mitya Lyubarskiy e24cf9f155 [nullsafe] Introduce NullsafeRules and start consolidating checks
5 years ago
Mitya Lyubarskiy 74c8629d13 [nullsafe] Rename TypeAnnotation to InferredNullability
5 years ago
Mitya Lyubarskiy 361e11b3be [nullsafe] When inferring type based on the formal type, respect NullsafeType instead of reading annotations
5 years ago
Jules Villard c19d9254b4 [typ] make use of pretty printers instead of strings
5 years ago
Mitya Lyubarskiy 693f2944c7 [nullsafe] Convert AnnotatedSignature subtypes from tuples to records
5 years ago
Mitya Lyubarskiy 518b154ebe [nullsafe] Add NullsafeType to `get_field_annotation`
5 years ago
Mitya Lyubarskiy ba0a0b6d9a [nullsafe] Don't mention "unannotated" in Models
5 years ago
Mitya Lyubarskiy ebf9e84e3c [nullsafe] `get_modelled_annotated_signature` respects models in NullsafeType
5 years ago
Mitya Lyubarskiy 633186c41e [nullsafe] Introduce NullsafeType abstraction
5 years ago
Mitya Lyubarskiy 39aca6326c [nullsafe] Remove old traces of modelling the annotation for the field
5 years ago
Mitya Lyubarskiy 21d3450ef5 [nullsafe] Remove special treatment of @Nonnull for "Condition Redundant" check
5 years ago
Mitya Lyubarskiy 5de3e415db [nullsafe] Remove custom hash calculation for err_instance
5 years ago
Mitya Lyubarskiy b00b526928 [nullsafe] Remove "Field not mutable" check
5 years ago
Mitya Lyubarskiy b1810ef3ff [nullsafe] @Nonnull should not suppress Field Not Initialized warning
5 years ago
Sungkeun Cho 962e56cb1b [infer] Use typ instead of root_typ if possible
5 years ago
Sungkeun Cho a50fcaf2dd [infer] Use inline record for Sil.Load and Sil.Store
5 years ago
Mitya Lyubarskiy 58fe80fdf5 [nullsafe] remove 'annotation' abstraction.
5 years ago
Mitya Lyubarskiy 46cf107411 [nullsafe] Remove functionality for @Present annotations
5 years ago
Mitya Lyubarskiy 5b0bdfb297 [nullsafe] Refine semantics of @Nonnull: obey minimum surprise principle
5 years ago
Jules Villard 73179f7182 [specs] put specs files operations in their own module
5 years ago
Mitya Lyubarskiy 7368039ba8 [infer] Make infer respect external-packages param
5 years ago
Phoebe Nichols 2f6510395e Remove redundant fields from proc_callback_args
5 years ago
Phoebe Nichols fa1bcbe12d Change ProcData to have a summary instead of a proc_desc
5 years ago
Phoebe Nichols 13c2c84897 Remove proc_desc from proc_callback_args
5 years ago
Mehdi Bouaziz b03aeb49c2 [eradicate] remove the constant flag only_keep_intersection
6 years ago
Josh Berdine cfc1c8be36 [copyright] Remove years
6 years ago
Jeremy Dubreil 79b0b8172d [eradicate] add a model for java.nio.file.Path.getParent()
6 years ago
Andrew Adams-Moran 0ad15356c2 Add @Cleanup annotation
6 years ago
Mehdi Bouaziz 0a5810c579 [NodePrinter] Force usage of with_session
6 years ago
Jeremy Dubreil 4a44bd4430 [eradicate] remove the constant flag return_nonnull_silent
6 years ago
Jeremy Dubreil dc89f3b5a4 [eradicate] remove dated debug info
6 years ago
Jeremy Dubreil b47e2d13f3 [eradicate] simplify the analysis traces
6 years ago
Nikos Gorogiannis 8450ac36d8 [trivial] procname should implement Hashable
6 years ago
Jules Villard 686231ec6e [SIL] change `variable_initialization()` builtin to a new auxiliary instruction
6 years ago
Jules Villard ebe5028ca1 [SIL] add `Skip` metadata instruction
6 years ago
Jules Villard b665e1c575 [SIL][HIL] distinguish auxiliary instructions as `Metadata`
6 years ago
David Lively 5d4a27ea54 RFC: stop using _ to separate ObjC/C++ class name from method in Typ.Procname.to_string
6 years ago
Josh Berdine 4acad5ca90 [ocamlformat] upgrade ocamlformat to 0.9
6 years ago
Wenzhe Lu ead4c44f9d Adding Long.parseLong model to nullsafe/modelTables.ml
6 years ago
Jeremy Dubreil 82c4b716bf [eradicate] rename the warning raised when dereferencing nullable types
6 years ago
Jeremy Dubreil 7714f309d6 [nullsafe] change the human readable warning name
6 years ago
Boris Valkov ea530390d3 [nullsafe][android] warn when passing null to ImmutableList, ImmutableSet, and ImmutableMap
6 years ago
Mehdi Bouaziz 620099113d Fix some comments
6 years ago
Jeremy Dubreil adfd5a6418 [nullsafe] consistent models for the scrict containers
6 years ago
Jeremy Dubreil d08cabe7ed [eradicate] match the different re-definitions of Preconditions.checkState
6 years ago
Jeremy Dubreil 1765b66916 [eradicate] add model for com.google.common.base.Verify.verifyNotNull
6 years ago
Jeremy Dubreil dc290555f1 [eradicate] fix conflict between null assertions methods with a var args and the modeled methods using string formatter
6 years ago
Jeremy Dubreil 61d75d9991 [infer][nullsafe] use the same human readable error message for Eradicate and the new Nullsafe backend
6 years ago
Jules Villard 26d4a2d14f [HIL] simplify some functors around TransferFunctions
6 years ago
Jeremy Dubreil 1baf723e3e [infer][nullsafe] make the error message more explicit about the typing nature of the analysis
6 years ago
Jules Villard 1ee5877aa2 [HIL][3/4] remove compatibility AccessExpression.ml
6 years ago