Mikhail Zarechenskiy
4ebd11a7ae
Refactoring: rename parameter to argument for annotation diagnostics
2018-03-22 03:59:55 +03:00
Mikhail Zarechenskiy
8757298994
Add diagnostics to test data from NI
2017-11-29 02:54:26 +03:00
Mikhail Zarechenskiy
a71238bf94
Place !WITH_NEW_INFERENCE directive to diagnostics test data
2017-11-29 02:53:49 +03:00
Dmitry Savvinov
f5d40a1c98
Fix testdata in varargs tests
...
Testdata have been changed since 1.2. due to KT-20171.
2017-10-11 14:06:54 +03:00
Ilya Gorbunov
d7ad1f3950
Explicitly disable ArrayLiteralsInAnnotations feature in test which validates it's unsupported
2017-06-10 10:00:15 +03:00
Mikhail Zarechenskiy
b46205f60b
Add tests to check collection literals with varargs
2017-03-28 09:01:57 +03:00
Mikhail Zarechenskiy
2a93dea0c4
Use concrete candidate to resolve collection literal
...
This helps to avoid resolution errors when there is local array-like function with the same signature as in built-ins
2017-03-22 17:59:58 +03:00
Mikhail Zarechenskiy
8466270bdb
Check that arguments of array function call in annotation are constants
...
#KT-16956 Fixed
2017-03-22 17:59:58 +03:00
Mikhail Zarechenskiy
a2ea518b1a
Allow to use collection literals only in annotations
2017-03-22 17:59:58 +03:00
Mikhail Zarechenskiy
bfe2ddf7c1
Introduce language feature for array literals in annotations
2017-03-22 17:59:58 +03:00
Mikhail Zarechenskiy
859bccb9fc
Propagate resolution results without ambiguity to constant evaluator
...
This allows to get rid of useless diagnostics that some value is not a constant
2017-03-22 17:59:58 +03:00
Mikhail Zarechenskiy
e49b2811ec
Apply constant folding for collection literals to use in annotations
...
Currently this is achieved with several hacks:
- Postpone computation of argument type info when there is no candidate resolver. We have to do this, because we don't have expected type and therefore we could write wrong information to trace
- Presume that for annotation calls there is only one candidate resolver and then resolve arguments with expected type (see `getArgumentTypeInfo`), otherwise because of quadratic complexity of the algorithm resolve would be slow
2017-03-22 17:59:58 +03:00
Mikhail Zarechenskiy
c85f6e7d0e
Resolve collection literal expression as special array-like function
2017-03-22 17:59:58 +03:00