added readme file about diagnostic tests directives

This commit is contained in:
Svetlana Isakova
2014-01-14 19:31:04 +04:00
parent 1446feff20
commit f74fbf9f8b
2 changed files with 45 additions and 1 deletions
+44
View File
@@ -0,0 +1,44 @@
Several directives can be added in the beginning of a test file in the syntax:
`// !DIRECTIVE`
## Directives:
### 1. DIAGNOSTICS
Must be
'([ + - ! ] DIAGNOSTIC_FACTORY_NAME | ERROR | WARNING | INFO ) +'
where
* `'+'` means 'include';
* `'-'` means 'exclude';
* `'!'` means 'exclude everything but this'.
Directives are applied in the order of appearance,
i.e. `!FOO +BAR` means include only `FOO` and `BAR`.
#### Examples:
// !DIAGNOSTICS: -WARNING +CAST_NEVER_SUCCEEDS
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE
### 2. CHECK_TYPE
The directive adds the following declarations to the file:
class _<T>
fun <T> T.checkType(f: (_<T>) -> Unit) = f
With that, an exact type of an expression can be checked in the following way:
fun test(expr: A) {
expr checkType { it: _<A> }
}
#### Usage:
// !CHECK_TYPE
@@ -150,7 +150,7 @@ public abstract class BaseDiagnosticsTest extends JetLiteFixture {
"where '+' means 'include'\n" +
" '-' means 'exclude'\n" +
" '!' means 'exclude everything but this'\n" +
"directives are applied in the order of appearance, i.e. !FOO +BAR means inluce only FOO and BAR");
"directives are applied in the order of appearance, i.e. !FOO +BAR means include only FOO and BAR");
}
boolean first = true;
do {