[annotreach] document issues

Reviewed By: jvillard

Differential Revision: D22034683

fbshipit-source-id: b354d14b3
master
Nikos Gorogiannis 5 years ago committed by Facebook GitHub Bot
parent 788a600ed9
commit ec7930be20

@ -0,0 +1,12 @@
A method annotated with `@NoAllocation` transitively calls `new`.
Example:
```java
class C implements I {
@NoAllocation
void directlyAllocatingMethod() {
new Object();
}
}
```

@ -0,0 +1 @@
A method annotated with an annotation `@A` transitively calls a method annotated `@B` where the combination of annotations is forbidden (for example, `@UiThread` calling `@WorkerThread`).

@ -0,0 +1,15 @@
A method annotated with `@PerformanceCritical` transitively calls a method annotated `@Expensive`.
Example:
```java
class C {
@PerformanceCritical
void perfCritical() {
expensive();
}
@Expensive
void expensive() {}
}
```

@ -0,0 +1,14 @@
A method annotated with `@Expensive` overrides an un-annotated method.
Example:
```java
interface I {
void foo();
}
class A implements I {
@Expensive
public void foo() {}
}
```

@ -307,21 +307,27 @@ let captured_strong_self =
let checkers_allocates_memory = let checkers_allocates_memory =
register_from_string ~id:"CHECKERS_ALLOCATES_MEMORY" ~hum:"Allocates Memory" Error register_from_string ~id:"CHECKERS_ALLOCATES_MEMORY" ~hum:"Allocates Memory" Error
AnnotationReachability AnnotationReachability
~user_documentation:[%blob "../../documentation/issues/CHECKERS_ALLOCATES_MEMORY.md"]
let checkers_annotation_reachability_error = let checkers_annotation_reachability_error =
register_from_string ~id:"CHECKERS_ANNOTATION_REACHABILITY_ERROR" register_from_string ~id:"CHECKERS_ANNOTATION_REACHABILITY_ERROR"
~hum:"Annotation Reachability Error" Error AnnotationReachability ~hum:"Annotation Reachability Error" Error AnnotationReachability
~user_documentation:
[%blob "../../documentation/issues/CHECKERS_ANNOTATION_REACHABILITY_ERROR.md"]
let checkers_calls_expensive_method = let checkers_calls_expensive_method =
register_from_string ~id:"CHECKERS_CALLS_EXPENSIVE_METHOD" ~hum:"Expensive Method Called" Error register_from_string ~id:"CHECKERS_CALLS_EXPENSIVE_METHOD" ~hum:"Expensive Method Called" Error
AnnotationReachability AnnotationReachability
~user_documentation:[%blob "../../documentation/issues/CHECKERS_CALLS_EXPENSIVE_METHOD.md"]
let checkers_expensive_overrides_unexpensive = let checkers_expensive_overrides_unexpensive =
register_from_string ~id:"CHECKERS_EXPENSIVE_OVERRIDES_UNANNOTATED" register_from_string ~id:"CHECKERS_EXPENSIVE_OVERRIDES_UNANNOTATED"
~hum:"Expensive Overrides Unannotated" Error AnnotationReachability ~hum:"Expensive Overrides Unannotated" Error AnnotationReachability
~user_documentation:
[%blob "../../documentation/issues/CHECKERS_EXPENSIVE_OVERRIDES_UNANNOTATED.md"]
let checkers_fragment_retain_view = let checkers_fragment_retain_view =

Loading…
Cancel
Save