Svetlana Isakova
928133b69b
small fixes after review
2013-09-03 13:09:10 +04:00
Svetlana Isakova
fd5a2056c1
analyze labeled function literals as usual ones
...
(specially as function literals, not as other expressions)
2013-09-03 13:09:10 +04:00
Svetlana Isakova
8f29968183
test data updated
...
arguments analyzed even if there's type inference error
2013-09-03 13:09:09 +04:00
Svetlana Isakova
30b0a72c6b
analyze all arguments with unknown expected type
...
in the beginning of call resolution process
2013-09-03 13:09:07 +04:00
Svetlana Isakova
756cb3759b
fixed: use function placeholder when there is no declared value parameter list
...
(not when there is no value parameters)
2013-09-03 13:09:06 +04:00
Svetlana Isakova
dc51a2d238
analyze a lot of expressions in independent of context (expected type) mode
2013-09-03 13:09:05 +04:00
Svetlana Isakova
6429239f3f
rewrote analyzing expression with type rhs
...
removed unnecessary temporary trace (and so extra 'getType' for left expression)
2013-09-03 13:09:03 +04:00
Svetlana Isakova
7b04755a59
through completion phase result type of call should be updated
...
with respect to being selector in safe call expression
2013-09-03 13:09:02 +04:00
Svetlana Isakova
4621fe6dfa
resolve elvis operator as call
2013-09-03 13:09:02 +04:00
Svetlana Isakova
aba70e047d
resolve a!! as call
2013-09-02 23:18:46 +04:00
Svetlana Isakova
46cb6b3242
complete resolve for array access expression
2013-09-02 23:18:45 +04:00
Svetlana Isakova
e2f681c587
report type mismatch deeply on branches for if
...
in type argument inference case
2013-09-02 23:18:45 +04:00
Svetlana Isakova
99bb6f13b5
data flow info for arg may affect next argument's type for type argument inference case
2013-09-02 23:18:45 +04:00
Svetlana Isakova
27cff93ed8
use data flow info in constraint system
...
intersect data flow value possible types
add intersection type (or exact type for the most cases) as a lower bound to constraint system
always get common super type for intersection type as a result
(avoid returning it, even in error messages)
2013-09-02 23:18:45 +04:00
Svetlana Isakova
0609f61ee7
added test for nontrivial nested calls
2013-09-02 23:18:44 +04:00
Svetlana Isakova
0849798af0
report only 'The value is out of range'
...
not 'An integer literal does not conform to the expected type Int/Long'
2013-09-02 23:18:44 +04:00
Svetlana Isakova
f2746b835e
report ERROR_COMPILE_TIME_VALUE for constants instead of TYPE_MISMATCH
...
(functionality returned)
2013-09-02 23:18:44 +04:00
Svetlana Isakova
fccfa0051e
added DoubleValueTypeConstructor
...
no need to store exact value in IntegerValueTypeConstructor, it was removed
2013-09-02 23:18:43 +04:00
Svetlana Isakova
80eb45b793
process number value types properly in constraint system
...
the case when type parameter has number value types (constants) as lower bounds
should be handled specially, because upper bound for primitive number types is 'Number',
but by default we want Int (or Long)
2013-09-02 23:18:43 +04:00
Svetlana Isakova
0eed0c6c7f
extracted 'getResultingCall' method
...
rewrote 'getResultingType' in terms of it
2013-09-02 23:18:43 +04:00
Svetlana Isakova
2eadd5202d
check argument types through complete phase
...
with right data flow info
2013-09-02 23:18:42 +04:00
Mohammad Shamsi
32c34a3740
KT-3893 Fixed
...
- Added modifier check for parameters in constructors.
- Added modifier check for parameters in functions.
- Added modifier check for parameters in try/catch
2013-08-29 22:08:26 +08:00
Andrey Breslav
6cee65d74e
A test for nesting implicitly labeled calls
...
The actual error message should be "return not allowed", but due to a bug in label resolution it is "unresolved reference"
2013-08-22 17:13:08 +04:00
Andrey Breslav
55eb994502
KT-3919 Automatic labeling of lambdas by receiving functions
...
#KT-3919 Fixed
2013-08-22 14:27:01 +04:00
Andrey Breslav
a51ea10f55
No need to produce error types when RETURN_NOT_ALLOWED_EXPLICIT_RETURN_TYPE_REQUIRED is reported
2013-08-21 20:12:05 +04:00
Andrey Breslav
3f3ee378f3
Test that local return has type Nothing
2013-08-21 20:12:05 +04:00
Andrey Breslav
08625a6b2f
Local returns are only allowed with explicitly specified return types
...
This is a temporary limitation: otherwise type inference is having trouble to account for all the returned expressions.
We will fix the inference and remove the limitation
2013-08-21 20:12:04 +04:00
Andrey Breslav
4138ac4e36
Support local returns in lambdas
2013-08-21 20:12:04 +04:00
Andrey Breslav
db70087573
Labels on function literal arguments are processed properly
2013-08-21 20:12:04 +04:00
Andrey Breslav
9f90fd0938
No "unreachable code" errors when an illegal return expression is the last in a lambda
2013-08-21 20:12:04 +04:00
Andrey Breslav
3d28c4cdb2
Passing DataFlowInfo to local classes/objects
...
#KT-2835 In Progress
#KT-2225 In Progress
#KT-338 In Progress
2013-08-19 19:05:21 +04:00
Andrey Breslav
4908766813
Passing DataFlowInfo when analyzing property initializers
...
#KT-2835 In Progress
#KT-2225 In Progress
#KT-338 In Progress
2013-08-19 19:05:21 +04:00
Andrey Breslav
63c284e200
Passing DataFlowInfo to local classes/objects
...
#KT-2835 In Progress
#KT-2225 In Progress
#KT-338 In Progress
2013-08-19 19:05:20 +04:00
Natalia.Ukhorskaya
e11f130278
'annotation' keyword should be allowed only on classes
...
#KT-2785 Fixed
2013-07-25 17:00:10 +04:00
Natalia.Ukhorskaya
73000ec407
Change error message for nullable annotation member
2013-07-25 13:25:02 +04:00
Svetlana Isakova
539756ff3e
KT-3772 Invoke and overload resolution ambiguity
...
#KT-3772 Fixed
2013-07-16 20:33:08 +04:00
Evgeny Gerashchenko
5c8f87658a
Made SAM adapters final.
2013-07-12 21:09:22 +04:00
Andrey Breslav
8d65613eed
Create <out Any?> projections for raw Java types, not <*>
...
KT-3760 Internal compiler error with Java interoperability and ElasticSearch 0.90.2 (IllegalStateException, Type parameter descriptor in not initialized: T declared in ...)
#KT-3760 Fixed
EA-44150 Type parameter descriptor in not initialized. Fixed
2013-07-10 08:28:47 +04:00
Svetlana Isakova
d3e6d2d6cd
do not need to check stand-alone class object for class,
...
when it's on the left hand side of dot it is analyzed in 'getIdForImplicitReceiver' (test added)
2013-07-05 18:03:52 +04:00
Svetlana Isakova
cf5c5dba3d
KT-3189 Function invoke is called with no reason
...
prioritize tasks specially for invoke
#KT-3189 Fixed
#KT-3190 Fixed
#KT-3297 Fixed
2013-07-05 18:03:51 +04:00
Natalia.Ukhorskaya
33ddd713b7
Check annotation constructor parameter types
2013-07-04 14:37:29 +04:00
Evgeny Gerashchenko
1f2676becd
Ignoring SAM adapters when checking for unimplemented methods or methods to override.
2013-06-25 20:17:45 +04:00
Evgeny Gerashchenko
cfc99b941a
Added test for ambiguous SAM adapters within one class.
2013-06-25 20:16:20 +04:00
Svetlana Isakova
041505f5b8
report UNRESOLVED_REFERENCE_WRONG_RECEIVER
...
mentioning candidates with wrong receiver
2013-06-20 13:43:03 +04:00
Svetlana Isakova
342e9ebe7a
KT-3563 Compiler requiring java.io.File, and it's unclear why
...
#KT-3563 fixed
2013-06-20 13:43:02 +04:00
Andrey Breslav
3e8031acbd
Properly load objects nested into class objects from Java
2013-06-10 15:33:10 +04:00
Nikolay Krasko
27baad64c0
Fix recursion of checking type is supertype during resolving list of supertypes
2013-06-07 17:24:18 +04:00
Nikolay Krasko
37cd7eb1ba
Allow resolve class declarations in class objects
...
Use INACCESSIBLE_OUTER_CLASS_EXPRESSION error for marking already resolved elements
#KT-3261 Fixed
2013-06-07 17:24:17 +04:00
Svetlana Isakova
ca88a01e1d
no 'dangling function literal' check for nested calls
2013-06-06 17:20:10 +04:00
Svetlana Isakova
f41584c7ab
tests added
...
for inference for delegated properties
2013-06-06 16:31:06 +04:00