225 Commits (b1e35a728dfa6f7f8b6ea6962c4d6432ad89ccb8)

Author SHA1 Message Date
Mitya Lyubarskiy e3a5906f7a [nullsafe][refactor] don't do tricky typestate modification inside set_original_pvar_to_nonnull_in_typestate
5 years ago
Mitya Lyubarskiy 692d618783 [nullsafe][refactor] Split a tricky function with side effect into two
5 years ago
Nikos Gorogiannis 711c48aa86 [java] extract java split name from typ module
5 years ago
Mitya Lyubarskiy 59e17f59b8 [logging] Introduce a function to call arbitrary function with subsequent logs written in an indended way.
5 years ago
Mitya Lyubarskiy 16ed8950e9 [nullsafe][BE] Log to html when TypeState is modified
5 years ago
Mitya Lyubarskiy bd83813b3e [tech debt] Remove experimental nullability checkers
5 years ago
Mitya Lyubarskiy 1b3baa3d45 [nullsafe] Fix deadcode
5 years ago
Mitya Lyubarskiy 0340a81002 [nullsafe][tech debt] Get rid of TypeOrigin.Undef
5 years ago
Mitya Lyubarskiy d71e2f0d84 [nullsafe][refactor] Restructure code around node typechecking
5 years ago
Mitya Lyubarskiy e1f4da320f [nullsafe] Consistent severity for nullsafe issues.
5 years ago
Mitya Lyubarskiy 335a9efec7 [nullsafe] Trust explicitly annotated third party in all modes
5 years ago
Mitya Lyubarskiy f136bf21b5 [nullsafe][refactor][messaging] Refactor code + more consistent messaging
5 years ago
Mitya Lyubarskiy 2aea7d1304 [nullsafe][refactor] Use ThirdPartyNonnull instead of heuristic in error rendering
5 years ago
Artem Pianykh 3859f178fa [nullsafe] Properly handle method calls on trusted classes under NullsafeLocal mode
5 years ago
Artem Pianykh 3e9702edf2 [build] Fix test build failure due to use of polymorphic compare
5 years ago
Mitya Lyubarskiy f57dc78679 [nullsafe] Error reporting: recommend non-nullable alternarives for known nullable methods
5 years ago
Artem Pianykh 9697c6e294 [nullsafe] Fix treatment of enum values wrt nullsafe mode
5 years ago
Artem Pianykh 2572819a5b [nullsafe] Directly model nullability of values from third-party code
5 years ago
Artem Pianykh b50f13eb18 [nullsafe] Support Nullsafe(Local, trust=all/none) mode
5 years ago
Mitya Lyubarskiy c38c2cf1bf [nullsafe][EASY] Add period at the end of dereference message when origin is present
5 years ago
Jules Villard 317a74ffee [nullsafe] show state after each instruction in debug HTML
5 years ago
Nikos Gorogiannis c10c7a39a6 [java] use a package/classname record for java classes instead of string
5 years ago
Mitya Lyubarskiy 8ab9a7e14e [nullsafe] Don't emit Field Not Initialized warnings on @JsonField-annotated fields
5 years ago
Mitya Lyubarskiy d9595181f7 [nullsafe] Ignore autogenerated fields when issuing Field Not Initialized
5 years ago
Jules Villard a684a1edf0 [ocaml] preparations for core v13
5 years ago
Mitya Lyubarskiy bd166a244f [nullsafe][easy] fix the wrong comment about order of arguments in `instanceof`
5 years ago
Mitya Lyubarskiy 597c730474 [nullsafe] Treat parameter in overrides of `equals(Object param)` as nullable.
5 years ago
Mitya Lyubarskiy ae907d80cf [nullsafe] Model Object.equals() and descentands as FalseOnNull
5 years ago
Mitya Lyubarskiy 79d088e676 [nullsafe][EASY] functions that are modelled as @TrueOnNull should be also modelled for nullability.
5 years ago
Mitya Lyubarskiy 067a545c0e [nullsafe] Fix a bug and specify behavior for multiparam version for @TrueOnNull and @FalseOnNull annotations
5 years ago
Mitya Lyubarskiy 5bee0858c6 [nullsafe][refactor] Simplify logic for the method handling PRUNE instruction
5 years ago
Mitya Lyubarskiy 7b502d863c [nullsafe][refactor] Simplify and rename a function.
5 years ago
Mitya Lyubarskiy 2001d39e9a [nullsafe][refactor] Simplify and document code processing particular part of prune instruction
5 years ago
Mitya Lyubarskiy a55179ba80 [nullsafe][refactoring] Simplify call to condition_redundant checks.
5 years ago
Mitya Lyubarskiy a4a4b92690 [nullsafe][refactor] TypeState.ml cleanup: Remove uneccessary calls
5 years ago
Mitya Lyubarskiy eded9141d9 [nullsafe][refactor] Clean up code responsible for manipulations with `containsKey()`
5 years ago
Artem Pianykh c735b6f0a5 [nullsafe] Introduce NullsafeMode as a replacement for `is_strict_mode`
5 years ago
Ezgi Çiçek 43a99745b6 [infer] Get rid of verbose Typ.mk Tvoid
5 years ago
Artem Pianykh ea3cbae757 [nullsafe] Rename nullability variants
5 years ago
Mitya Lyubarskiy 8199ed1555 [nullsafe] Add `nullsafe_FIXME` method to suppress nullability issues.
5 years ago
Mitya Lyubarskiy 964a11ae23 [nullsafe] Documentation and minor code cleanup around models for `checkNotNull`
5 years ago
Mitya Lyubarskiy 19bc35d836 [nullsafe] Make condition redundant slightly less aggressive
5 years ago
Mitya Lyubarskiy 327aa001c3 [nullsafe] Propagate type origin to condition redundant type error
5 years ago
Mitya Lyubarskiy cf26c024bf [nullsafe] Specific error message for overriding Object.equals()
5 years ago
Mitya Lyubarskiy d641c9ac9a [nullsafe] Better error message for inheritance rule, part 2
5 years ago
Mitya Lyubarskiy eddf2ef180 [nullsafe] Better error message for inheritance rule
5 years ago
Mitya Lyubarskiy 696c0e8b09 [nullsafe] Introduce a flag for conditionally disabling field not initialized issue
5 years ago
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