Martino Luca
40b176fd01
Translate global const vars locally to a procedure
...
Summary: With this approach, all the global consts will be inlined in the places where they are used.
Reviewed By: dulmarod
Differential Revision: D3703133
fbshipit-source-id: 3c19479
8 years ago
Martino Luca
6840efdd1c
fix imports in MutableLocalVariableTest
...
Reviewed By: jvillard
Differential Revision: D3716774
fbshipit-source-id: 8b1239b
8 years ago
Lázaro Clapp Jiménez Labora
175efddc2b
Make stacktrace and stacktree line number an int option.
...
Reviewed By: sblackshear
Differential Revision: D3718014
fbshipit-source-id: 1c93757
8 years ago
Ryan Rhee
e81e43456b
Test mutable local variables in CK files
...
Reviewed By: jvillard
Differential Revision: D3694032
fbshipit-source-id: c06b049
8 years ago
Ryan Rhee
957bdde05e
Test that component kit headers skips imported headers
...
Reviewed By: jvillard
Differential Revision: D3706184
fbshipit-source-id: e8d4c8b
8 years ago
Ryan Rhee
d594a525ac
Test that CK rules don't fire in non-component files
...
Reviewed By: jvillard
Differential Revision: D3694101
fbshipit-source-id: 1c2913f
8 years ago
Andrzej Kotulski
185f6493bc
Update fcp with new naming fixes
...
Reviewed By: martinoluca
Differential Revision: D3702929
fbshipit-source-id: 412617e
8 years ago
Martino Luca
3dae9dc4f6
Use Guava's Optional in tests
...
Summary: Use Guava's Optional class in tests
Reviewed By: akotulski
Differential Revision: D3702982
fbshipit-source-id: 897ebdd
8 years ago
Ryan Rhee
3d719a24d9
Matcher w/ explicit error name
...
Reviewed By: martinoluca
Differential Revision: D3694005
fbshipit-source-id: 6d4ac58
8 years ago
Ryan Rhee
e2ff6e58a5
`buck test componentkit` boilerplate
...
Reviewed By: jvillard
Differential Revision: D3693997
fbshipit-source-id: de64bbe
8 years ago
Martino Luca
b7d70ff178
Add support for extra cases of BAD_POINTER_COMPARISON warning
...
Reviewed By: akotulski
Differential Revision: D3674896
fbshipit-source-id: 48d10bf
8 years ago
Martino Luca
e3132152cb
Check for the presence of removeObserver into class hierarchy
...
Reviewed By: jberdine
Differential Revision: D3669624
fbshipit-source-id: 559c66e
8 years ago
Lázaro Clapp Jiménez Labora
d23c99a4ea
Add blame_range to crashcontext analysis.
...
Reviewed By: jberdine
Differential Revision: D3674674
fbshipit-source-id: 8d2cc25
8 years ago
Sam Blackshear
8ff9f2afab
making get_reachable_hpreds understand inductive predicates
...
Reviewed By: jvillard
Differential Revision: D3671401
fbshipit-source-id: 29e0f7e
8 years ago
Ryan Rhee
d2a4028881
Call decl checkers on DeclStmt statements
...
Reviewed By: jvillard
Differential Revision: D3649322
fbshipit-source-id: 60b1b92
8 years ago
Lázaro Clapp Jiménez Labora
85add041d4
CI Tests for crashcontext handling of native methods
...
Reviewed By: sblackshear
Differential Revision: D3644266
fbshipit-source-id: 74e623c
8 years ago
Lázaro Clapp Jiménez Labora
5296688c1f
Match classname for stackframes in crashcontext checker.
...
Reviewed By: sblackshear
Differential Revision: D3643135
fbshipit-source-id: bb38b1b
8 years ago
Lázaro Clapp Jiménez Labora
0a8b95a856
Crashcontext ocaml method summary merging
...
Reviewed By: sblackshear
Differential Revision: D3643101
fbshipit-source-id: eaea332
8 years ago
Martino Luca
bed9b31c62
Add general context to linters framework to implement smarter checks
...
Summary:
Make checks context-aware, to increase flexibility.
As an example application of this change, whenever an atomic property is accessed from within a synchronized block, skip reporting a `DIRECT_ATOMIC_PROPERTY_ACCESS` warning.
Reviewed By: jvillard
Differential Revision: D3648831
fbshipit-source-id: c033f45
8 years ago
Jules Villard
aee1eeba3d
restore --pmd-xml functionality
...
Summary:
This was lost in the move to OCaml toplevel.
closes #396
Reviewed By: martinoluca
Differential Revision: D3620527
fbshipit-source-id: 4fd4629
8 years ago
Martino Luca
f64be4596b
Implement containsOnlyLines matcher for tests
...
Reviewed By: jvillard
Differential Revision: D3648820
fbshipit-source-id: c4332f1
8 years ago
Martino Luca
da2717ff2a
Migrate BAD_POINTER_COMPARISON check from backend to linters infra
...
Reviewed By: dulmarod
Differential Revision: D3614726
fbshipit-source-id: bdc7651
8 years ago
Dulma Churchill
ff597a6c03
Model init method in NSData and understand the field bytes
...
Reviewed By: sblackshear
Differential Revision: D3627970
fbshipit-source-id: f70d913
8 years ago
Sam Blackshear
4490d9b033
fix recognition of inner class this guarded-by strings
...
Reviewed By: peterogithub
Differential Revision: D3620955
fbshipit-source-id: 374d078
8 years ago
Daiva Naudziuniene
ac9cabe677
Fixing Memory leak false positives in C++/ObjC
...
Summary: Follow up D3579581. We forget about memory acquired in resources with assumption that developers use raii and free memory in destructors.
Reviewed By: jvillard
Differential Revision: D3614056
fbshipit-source-id: 08fa112
8 years ago
Lázaro Clapp Jiménez Labora
9a79e74380
Crashbot results stitching and end-to-end testing.
...
Reviewed By: sblackshear
Differential Revision: D3619339
fbshipit-source-id: 46f3cc1
8 years ago
Sam Blackshear
b500a5c4b5
don't warn in cases where GuardedBy string is clearly unrecognizable
...
Reviewed By: peterogithub
Differential Revision: D3615388
fbshipit-source-id: 8deb7af
8 years ago
Lázaro Clapp Jiménez Labora
76764c148a
Output the callee sumaries of -a crashcontext to per-method files.
...
Reviewed By: sblackshear
Differential Revision: D3612488
fbshipit-source-id: a068803
8 years ago
Lázaro Clapp Jiménez Labora
cbd1b9c7ba
Refactor common code on multiple methods of InferRestults
...
Reviewed By: sblackshear
Differential Revision: D3611216
fbshipit-source-id: 28ebd23
8 years ago
Jules Villard
10f10a90c6
diverge on `throw`
...
Summary:
Previously, we would translate `throw` with `return`. However, `throw` in
ObjC/C++ is often used to mean "abort". We now translate `throw` the same as
`exit` to prune these paths.
Reviewed By: akotulski
Differential Revision: D3594156
fbshipit-source-id: 81083bb
8 years ago
Jules Villard
fb7aed07c6
typo and whitespace cleanup in cFrontend_config
...
Summary:
Minor stuff:
- GCCAst -> GCCAsm
- separate constants and mutable global state in cFrontend_config
- alphabetical ordering in cFrontend_config
Reviewed By: akotulski
Differential Revision: D3593858
fbshipit-source-id: 6f4d9c3
8 years ago
Lázaro Clapp Jiménez Labora
6469a6c37b
Implement '-a crashcontext' and '-st trace' options to invoke BoundedCallTree.ml from the command line.
...
Reviewed By: sblackshear
Differential Revision: D3606446
fbshipit-source-id: 9ac92fa
8 years ago
Dulma Churchill
7fd1149f85
Add NPE check for weak variables captured in blocks
...
Reviewed By: sblackshear
Differential Revision: D3593746
fbshipit-source-id: bc5dea0
8 years ago
Andrzej Kotulski
0aa5101a05
Replace space with _ in type names
...
Reviewed By: dulmarod
Differential Revision: D3605346
fbshipit-source-id: f4dce83
8 years ago
Andrzej Kotulski
5ed50f5a97
Keep more precise information in constructor's var_exp_typ
...
Summary:
No longer allow pointer types to be passed inside var_exp_typ. We used to accept both forms,
but it won't be possible any longer once shared_ptr becomes pointer type.
Reviewed By: dulmarod
Differential Revision: D3593003
fbshipit-source-id: a830914
8 years ago
Dulma Churchill
102f61e2a7
Move a few missing tests to the new location
...
Reviewed By: jvillard
Differential Revision: D3598867
fbshipit-source-id: 199f477
8 years ago
Jules Villard
4078a2b276
pass down --reactive and --continue to python
...
Summary:
Python needs to know about these because it does different things depending on
whether these flags are passed or not.
Reviewed By: cristianoc
Differential Revision: D3593381
fbshipit-source-id: fe3194d
8 years ago
Daiva Naudziuniene
dfb7c15303
Fixing Resource leak false positives assuming developers use raii.
...
Reviewed By: jvillard
Differential Revision: D3579581
fbshipit-source-id: 9c74d92
8 years ago
Sam Blackshear
d6149c7741
switching to by-ref semantics
...
Reviewed By: peterogithub
Differential Revision: D3567911
fbshipit-source-id: 8852485
8 years ago
Martino Luca
062ec6c872
Translate VAArgExpr
...
Summary: Translate `VAArgExpr` (http://clang.llvm.org/doxygen/classclang_1_1VAArgExpr.html ) into an expression that has an undefined value.
Reviewed By: dulmarod
Differential Revision: D3548756
fbshipit-source-id: c02a47d
8 years ago
Martino Luca
4ba864780e
Translate OffsetOfExpr
...
Summary:
Translate `OffsetOfExpr` (http://clang.llvm.org/doxygen/classclang_1_1OffsetOfExpr.html ) into
an expression that has an undefined value.
Reviewed By: dulmarod
Differential Revision: D3534392
fbshipit-source-id: be3dd6a
8 years ago
Sam Blackshear
d946a7bc33
fix ugly printing of NONE idents
...
Reviewed By: akotulski
Differential Revision: D3572695
fbshipit-source-id: 7398006
8 years ago
Dulma Churchill
8b0b485921
Refactoring of tests, separating the tests for linters
...
Reviewed By: sblackshear
Differential Revision: D3569981
fbshipit-source-id: 198647b
8 years ago
Dulma Churchill
41d93dd889
Model numberWithUnsignedInteger, skipping it was creating a false positive NPE
...
Reviewed By: akotulski
Differential Revision: D3561440
fbshipit-source-id: e03dfe4
8 years ago
Andrzej Kotulski
118295e03c
Fix C++ models of c library
...
Summary:
When analyzing C model in C++, we were seeing some SKIP function triggered by generated constructors/operators= for C structs.
In C they weren't present, but in C++ compiler generates them for us. To avoid this (and future) problems
with models, translate all functions that are needed when computing the model
Reviewed By: dulmarod
Differential Revision: D3561873
fbshipit-source-id: f8ad2a0
8 years ago
Dulma Churchill
0253608fab
Separate the flow of the frontend checks form the translation
...
Reviewed By: akotulski
Differential Revision: D3543519
fbshipit-source-id: 3493bbe
9 years ago
Sam Blackshear
7b58c71475
centralize creation and detection of clang tmp vars, fix errdesc/bucketing
...
Reviewed By: akotulski
Differential Revision: D3529992
fbshipit-source-id: 939f47a
9 years ago
Andrzej Kotulski
9cda4ca6bf
Add models of shared_ptr comparison operators
...
Reviewed By: jvillard
Differential Revision: D3534300
fbshipit-source-id: a95ecf4
9 years ago
Andrzej Kotulski
046654a9c0
Fix translation of unary operator! for all integral types
...
Summary:
Backend has the same treatment for all Typ.Int types and so UnaryOperator
should be translated the same for all of them
Reviewed By: jvillard
Differential Revision: D3534277
fbshipit-source-id: 8569b65
9 years ago
Dulma Churchill
cf72de9460
Make ObjC virtual functions return nil if they are called with nil, even if they are going to be skipped.
...
Reviewed By: jvillard
Differential Revision: D3509645
fbshipit-source-id: 4835378
9 years ago