178 Commits (0c7249b992b59c8d1021251f11166bc44a8c57f3)

Author SHA1 Message Date
Mitya Lyubarskiy 715227d126 [nullsafe] Show Strict mode violations as errors: part 3
5 years ago
Mitya Lyubarskiy 6417b19ace [nullsafe] Show violations of @NullsafeStrict mode as errors: Part 2
5 years ago
Mitya Lyubarskiy be05c8a7dd [nullsafe] Show Strict mode violations as errors: part 1
5 years ago
Nikos Gorogiannis 91fa6a5404 [typ] extract Procname from Typ
5 years ago
Nikos Gorogiannis 33352623a5 [typ] extract Fieldname from Typ
5 years ago
Nikos Gorogiannis cef051dd1a [typ] extract Struct module
5 years ago
Mitya Lyubarskiy acc20f3461 [nullsafe] model HashMap.put()
5 years ago
Mitya Lyubarskiy e1f0a2176e [nullsafe][EASY] correct the signature for Preconditions.checkNotNull()
5 years ago
Mitya Lyubarskiy 9285c51dfa [nullsafe] Enum values can be used as non-null without strictification
5 years ago
Nikos Gorogiannis e42bd8cd6c [typ][fieldname] further reduce and improve interface
5 years ago
Nikos Gorogiannis 59a95b316c [typ][fieldname] simplify and streamline interface
5 years ago
Mitya Lyubarskiy 9b8334f895 [nullsafe] Model com.facebook.common.Preconditions
5 years ago
Mitya Lyubarskiy 8582a782d9 [nullsafe] Support comments and empty lines in third party repo .sig files
5 years ago
Josh Berdine 3c6e2469de [ocamlformat] Enable parsing and reformatting docstrings
5 years ago
Artem Pianykh 6564dc9e2f [nullsafe] Add androidx.core.util.Preconditions.checkNotNull models
5 years ago
Mitya Lyubarskiy b41593acb7 [nullsafe] Specify "InferredNonnull" type origin even if it was already Nonnull
5 years ago
Mitya Lyubarskiy b2910c1336 [nullsafe] More specific error messaging for Null nullability
5 years ago
Mitya Lyubarskiy 29ae8086ec [nullsafe] Introduce Null nullability type
5 years ago
Mitya Lyubarskiy 7d1959a5aa [nullsafe][bug fix] Introduce a param guiding optimistic treatment of third party params and fix a bug in the current behavior.
5 years ago
Mitya Lyubarskiy 473147eb40 [nullsafe] Respect third party repo when identifying whether to hide bad param calls
5 years ago
Mitya Lyubarskiy bd426954a3 [nullsafe][easy][bug fix] Swap over reporting for undeclared and already declared third party
5 years ago
Mitya Lyubarskiy 0732dc63de [nullsafe] An ability to show the different path to third party folder rather than one that is specified in config
5 years ago
Mitya Lyubarskiy cf6e881822 [deadcode] fix deadcode
5 years ago
Mitya Lyubarskiy d5b574dd80 [nullsafe] Render strict mode violations nicely
5 years ago
Mitya Lyubarskiy 1b8305d1e1 [nullsafe] Special error messaging for case when unmodelled third-party signature is called
5 years ago
Mitya Lyubarskiy 48a447d77a [nullsafe] Always specify if the nullability comes from internal models or third party
5 years ago
Mitya Lyubarskiy a705373e02 [nullsafe] ThirdPartyAnnotationInfoStorage stores files names and line numbers for signatures
5 years ago
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
6 years ago
Mitya Lyubarskiy 2ef9686d06 [nullsafe] Improve readability of the check for constructor initialization
6 years ago
Mitya Lyubarskiy e21a5ddda5 [nullsafe] Move Initializer to a dedicated module
6 years ago
Mitya Lyubarskiy df5ccc1b10 [nullsafe] Move `get_field_annotation` out of EradicateChecks to a dedicated module
6 years ago
Mitya Lyubarskiy 34cfa20faf [nullsafe] Migrate checks for inheritance to NullsafeRules
6 years ago
Mitya Lyubarskiy 9a65453a77 [nullsafe] Use AnnotatedNullability instead of `ia_is_nullable` when checking the typestate at the end of class initialization
6 years ago
Mitya Lyubarskiy 53802064bb [nulllsafe] Migrate check for field assignment to NullsafeRules
6 years ago
Mitya Lyubarskiy 0a353da6d9 [nullsafe] Split NullsafeType into AnnotatedNullability and AnnotatedType
6 years ago
Mitya Lyubarskiy 900e451567 [nullsafe] Look at NullsafeType in check_return_annotation instead of looking it up in Annot.Item.t
6 years ago
Mitya Lyubarskiy e24cf9f155 [nullsafe] Introduce NullsafeRules and start consolidating checks
6 years ago
Mitya Lyubarskiy 74c8629d13 [nullsafe] Rename TypeAnnotation to InferredNullability
6 years ago
Mitya Lyubarskiy 361e11b3be [nullsafe] When inferring type based on the formal type, respect NullsafeType instead of reading annotations
6 years ago
Jules Villard c19d9254b4 [typ] make use of pretty printers instead of strings
6 years ago
Mitya Lyubarskiy 693f2944c7 [nullsafe] Convert AnnotatedSignature subtypes from tuples to records
6 years ago
Mitya Lyubarskiy 518b154ebe [nullsafe] Add NullsafeType to `get_field_annotation`
6 years ago
Mitya Lyubarskiy ba0a0b6d9a [nullsafe] Don't mention "unannotated" in Models
6 years ago
Mitya Lyubarskiy ebf9e84e3c [nullsafe] `get_modelled_annotated_signature` respects models in NullsafeType
6 years ago
Mitya Lyubarskiy 633186c41e [nullsafe] Introduce NullsafeType abstraction
6 years ago
Mitya Lyubarskiy 39aca6326c [nullsafe] Remove old traces of modelling the annotation for the field
6 years ago
Mitya Lyubarskiy 21d3450ef5 [nullsafe] Remove special treatment of @Nonnull for "Condition Redundant" check
6 years ago
Mitya Lyubarskiy 5de3e415db [nullsafe] Remove custom hash calculation for err_instance
6 years ago
Mitya Lyubarskiy b00b526928 [nullsafe] Remove "Field not mutable" check
6 years ago
Mitya Lyubarskiy b1810ef3ff [nullsafe] @Nonnull should not suppress Field Not Initialized warning
6 years ago
Sungkeun Cho 962e56cb1b [infer] Use typ instead of root_typ if possible
6 years ago
Sungkeun Cho a50fcaf2dd [infer] Use inline record for Sil.Load and Sil.Store
6 years ago
Mitya Lyubarskiy 58fe80fdf5 [nullsafe] remove 'annotation' abstraction.
6 years ago
Mitya Lyubarskiy 46cf107411 [nullsafe] Remove functionality for @Present annotations
6 years ago
Mitya Lyubarskiy 5b0bdfb297 [nullsafe] Refine semantics of @Nonnull: obey minimum surprise principle
6 years ago
Jules Villard 73179f7182 [specs] put specs files operations in their own module
6 years ago
Mitya Lyubarskiy 7368039ba8 [infer] Make infer respect external-packages param
6 years ago
Phoebe Nichols 2f6510395e Remove redundant fields from proc_callback_args
6 years ago
Phoebe Nichols fa1bcbe12d Change ProcData to have a summary instead of a proc_desc
6 years ago
Phoebe Nichols 13c2c84897 Remove proc_desc from proc_callback_args
6 years ago