Commit Graph

472 Commits

Author SHA1 Message Date
Svetlana Isakova 2077faa76a no ambiguity when overloading with different function type
(in incomplete resolve)
2012-12-25 19:12:01 +04:00
Svetlana Isakova c37d7352a5 improved reporting TYPE_MISMATCH error for function literals
(introduced EXPECTED_PARAMETER_TYPE_MISMATCH, EXPECTED_RETURN_TYPE_MISMATCH, EXPECTED_PARAMETERS_NUMBER_MISMATCH
instead of reporting TYPE_MISMATCH on the whole function literal)
2012-12-25 19:12:00 +04:00
Svetlana Isakova 972b234db6 KT-3150 Kotlin m4 don't recognize function literals
#KT-3150 fixed

 added check for PLACEHOLDER_FUNCTION_TYPE to constraint system
2012-12-25 19:12:00 +04:00
Svetlana Isakova a5cf54d370 do not miss repeated 'uninitialized' error for properties 2012-12-18 19:47:55 +04:00
Svetlana Isakova 67d0d8b1a9 fix: val can be reassigned through backing field inside its own getter 2012-12-18 19:47:54 +04:00
Svetlana Isakova 58de1cabbc update tests according to package properties check 2012-12-18 19:47:54 +04:00
Svetlana Isakova 11bc01795f check package declaration in a file
to have the right properties initialization order
not to report errors if isDeclaredLocally (only recordInitializedVariables)
2012-12-18 19:47:54 +04:00
Svetlana Isakova f697098fb4 KT-2960 Perform control flow checks for package property initializers
#KT-2960 fixed
2012-12-18 19:47:52 +04:00
Svetlana Isakova d7a60f5fed added tests for KT-2369, KT-2585 and KT-2972
KT-2369 Variable is not marked as uninitialized in 'finally' section
 #KT-2369 fixed
KT-2585 Code in try-finally is incorrectly marked as unreachable
 #KT-2585 fixed
KT-2972 Wrong "unused value" warning when finally is present
 #KT-2972 fixed
2012-12-18 16:00:26 +04:00
Svetlana Isakova 9904f21ceb added ThrowExceptionInstruction
(to store throw expression in it)
2012-12-18 16:00:26 +04:00
Svetlana Isakova 93327a3e31 check uninitialized vars inside local declarations
added parameter 'includeInsideLocalDeclarations' to getDeclaredVariables
2012-12-18 16:00:26 +04:00
Svetlana Isakova 8141229744 added edge from try start to error through finally block
KT-2845 Wrong cf-analysys for variable initialization in try..finally
 #KT-2845 fixed
todo: some errors now are reported for several times (each time when analyzing finally block)
2012-12-18 16:00:25 +04:00
Evgeny Gerashchenko 34f9ae77ba Getting super methods correctly for inheritors of Collection, etc. 2012-12-10 21:43:42 +04:00
Evgeny Gerashchenko 00873b6e8c Reverted loading arrays from java with 'out' projection kind as return value.
#KT-3065
2012-11-29 17:02:43 +04:00
Alexander Udalov 9eecf22e15 Booleans are no longer Comparable 2012-11-28 17:41:36 +04:00
Alexander Udalov b23601eefe EA-40964
Don't access elements of an empty array
2012-11-28 17:41:35 +04:00
Andrey Breslav 304926005f Proper errors for cases like 'is Map' supported in 'when' 2012-11-27 21:15:37 +04:00
Andrey Breslav dff5f382ab Special diagnostics when no type arguments passed on teh right-hand side of 'is' expression
Example:

if (a is Map) // ERROR: Say 'Map<*, *>' if you don't want to pass type arguments
2012-11-27 16:47:38 +04:00
Andrey Breslav e064a50728 Error renamed 2012-11-24 15:59:17 +04:00
Andrey Breslav c849a0c4e3 Redundant/conflicting projections 2012-11-24 15:59:16 +04:00
Andrey Breslav 12fd07af08 Report an error when variance is specified for a function or property type parameter 2012-11-24 15:59:16 +04:00
Pavel V. Talanov 59e74e79c2 Test for KT-2619
Remove outdated check in WhenChecker

# KT-2619 fixed
2012-11-23 17:18:09 +04:00
Pavel V. Talanov 997e26d11e Test for KT-2890
# KT-2890 can't reproduce
2012-11-23 17:17:42 +04:00
Pavel V. Talanov 5fa069bebd Test for KT-2152
# KT-2152 can't reproduce
2012-11-23 17:17:03 +04:00
Pavel V. Talanov a7536e1ae9 Fix ClassCastException introduced in https://github.com/JetBrains/kotlin/commit/8d501bd7f4f1093bcf29165755aff3f2a945c88a 2012-11-21 21:05:30 +04:00
Svetlana Isakova 39450dd954 resolve function literal expression (as parameter) after resolve call
(therefore only once)
while resolve use FAKE_FUNCTION_TYPE as type
for function literal (which is a subtype/supertype for any function type)
2012-11-20 19:54:55 +04:00
Svetlana Isakova e8f9097127 do not mark error type
if the expression is resolved to namespace
 (EXPRESSION_EXPECTED_NAMESPACE_FOUND error)
2012-11-20 19:54:45 +04:00
Svetlana Isakova d0a6f6252d fixed: DEBUG_INFO_ERROR_ELEMENT should be visible in tests 2012-11-20 19:53:03 +04:00
Svetlana Isakova 993d3a3469 added tests for resolve
(to test performance issues)
2012-11-20 17:59:20 +04:00
Evgeny Gerashchenko 21e97b408c Loading java arrays as Array<out T> at method return type position, as well. 2012-11-20 16:16:47 +04:00
Alexander Udalov 712fafddb6 DataFlowInfo.getPossibleTypes() now returns Set
This solves some performance problems related to DataFlowInfo (lots of nested
conditions etc.)
2012-11-16 17:56:31 +04:00
Alexander Udalov 6c7b32dc03 Fix data flow info after inner loops with continue-outer
ControlStructureTypingVisitor.containsBreak() is refined and now also takes
into account continue to outer loops
2012-11-16 17:56:30 +04:00
Alexander Udalov 6b65c44d45 Optimize DataFlowInfo.and()
Instead of copying everything, we now only completely copy one data flow info
and use another as a delegation target
2012-11-16 17:56:29 +04:00
Alexander Udalov 57f18fca2e Retain data flow info after array accesses 2012-11-16 17:56:24 +04:00
Alexander Udalov ac7ee9d3f5 Retain data flow info after when-expressions
This means the subject expression and the common data flow info of all entries'
conditions
2012-11-16 17:56:23 +04:00
Alexander Udalov d0a2ba5737 Retain data flow info after is-expression 2012-11-16 17:56:22 +04:00
Alexander Udalov ef3e38071c Retain data flow info after try-finally 2012-11-16 17:56:21 +04:00
Alexander Udalov d629fe2d91 Retain data flow info after 'for' loop range expressions 2012-11-16 17:56:20 +04:00
Alexander Udalov 0b1c87a812 Retain data flow info after conditions in do-while statements 2012-11-16 17:56:20 +04:00
Alexander Udalov b0e9c7aab7 Retain data flow info after conditions in while-statements 2012-11-16 17:56:19 +04:00
Alexander Udalov ae77bf0a4e Retain data flow info after conditions in if-statements 2012-11-16 17:56:18 +04:00
Alexander Udalov 2872a0799a Retain data flow info after string template expressions 2012-11-16 17:56:17 +04:00
Alexander Udalov 950f912154 Retain data flow info after multi-declaration
#KT-2825 In Progress
2012-11-16 17:56:17 +04:00
Alexander Udalov a54e34282a Retain data flow info after assignment operations (+= etc)
#KT-2825 In Progress
2012-11-16 17:56:16 +04:00
Alexander Udalov f949d9e804 Retain data flow info after assignment statements
#KT-2825 In Progress
2012-11-16 17:56:15 +04:00
Alexander Udalov 3cbdb57d5c Retain data flow info after assignments in initializer
#KT-2825 In Progress
2012-11-16 17:56:14 +04:00
Alexander Udalov d19a824b14 Retain data flow info after elvis operator
#KT-2825 In Progress
2012-11-16 17:56:14 +04:00
Alexander Udalov e4cd0e004f Retain data flow info after boolean operations
#KT-2825 In Progress
2012-11-16 17:56:13 +04:00
Alexander Udalov 2e6500d848 Retain data flow info after in (contains)
#KT-2825 In Progress
2012-11-16 17:56:12 +04:00
Alexander Udalov 3358108c3f Retain data flow info after == (equals)
#KT-2825 In Progress
2012-11-16 17:56:11 +04:00