Commit Graph

330 Commits

Author SHA1 Message Date
Nikolay Krasko e85b36cdff Store resolution context for light classes to prevent back-end fail 2014-10-09 02:28:41 +04:00
Svetlana Isakova ce01c61811 Rename: auto cast -> smart cast 2014-10-01 18:52:52 +04:00
Zalim Bashorov 48de3b706d Frontend: added the support file annotations to LazyTopDownAnalyzer. 2014-09-10 22:39:12 +04:00
Alexander Udalov 5b1993f62a Resolve "values" and "valueOf" in enum class object
Import enum class's static scope into its class object's member scope
2014-09-09 20:42:38 +04:00
Alexander Udalov b52f337f7f Drop enum class object hack
Place valueOf() and values() into the static scope of the corresponding enum
class

 #KT-5580 Fixed
 #KT-2410 Fixed
2014-09-09 20:42:37 +04:00
Svetlana Isakova 91b0ad2023 Removed 'implicit this' from scope for member lookup 2014-09-07 01:03:59 +04:00
Svetlana Isakova 9d366cb896 Prohibit local objects and enum classes
#KT-5402 Fixed
  #KT-4838 Fixed

Resolve type of object inside local object as special, not supertype('Any').
Changed visibility of constructor of anonymous object to 'internal' to be able to resolve the following:
fun box(): String {
    var foo = object {
        val bar = object {
            val baz = "ok"
        }
    }
    return foo.bar.baz
}
The containing declaration of property initializers is constructor, so 'baz' was invisible inside private constructor.
2014-09-01 12:32:52 +04:00
Svetlana Isakova f811b9541c Position error on 'class A' or 'object A' instead of name identifier only 2014-09-01 12:32:51 +04:00
Svetlana Isakova 7f33ad90a6 Report 'nested class accessed via instance reference' error 2014-09-01 12:32:50 +04:00
Nikolay Krasko 186a9a13a8 Report unmet trait requirements in IDE
#KT-3006 Fixed
2014-08-26 14:42:29 +04:00
Alexey Sedunov 9fee8600cb Pseudocode: Do not generate implicit return instruction inside of
Unit-typed lambdas
 #KT-5549 Fixed
2014-08-05 18:14:40 +04:00
Alexey Sedunov 9cbcabffa4 Control-Flow Analysis: Reuse pseudo-value information for unused expression analysis 2014-07-28 13:07:37 +04:00
Alexander Udalov de0f751207 Replace object$ -> OBJECT$, instance$ -> INSTANCE$ in the project 2014-07-26 00:21:05 +04:00
Zalim Bashorov c767ffc3e7 Unit.VALUE -> Unit in testData 2014-07-25 17:16:40 +04:00
Svetlana Isakova 9d4aad3bbc Extracted 'generateBooleanOperation'
Generate magic instruction for '&&, ||' in condition as well
2014-06-21 12:26:34 +04:00
Svetlana Isakova 79cec6411d Mark only unreachable parts of element if it has reachable parts
like for 'return todo()' mark only 'return'
2014-06-21 12:26:33 +04:00
Andrey Breslav e2c5d9edf6 Support reporting errors on class objects and any classes or objects contained anywhere 2014-06-19 22:12:02 +04:00
Andrey Breslav f0da5d570e Do not report "accidental overrides" when "override" modifier is specified 2014-06-19 22:12:01 +04:00
Andrey Breslav 27f76630e6 ACCIDENTAL_OVERRIDE diagnostics supported
#KT-1 In Progress
2014-06-19 22:10:55 +04:00
Andrey Breslav bb581bb645 Only normalize names when accessing PSI, not earlier
#KT-4833 Fixed
2014-06-19 22:10:52 +04:00
Andrey Breslav 91136ada27 Filtering duplicate diagnostics for package facades and package parts 2014-06-19 22:10:49 +04:00
Andrey Breslav 22c47c2f82 Highlight only declarations, without body, on platform signature clashes 2014-06-19 22:10:48 +04:00
Andrey Breslav 27e61a75a1 Diagnostic tests for duplicate JVM signatures 2014-06-19 22:10:46 +04:00
Andrey Breslav d25b2459d4 Report clashing signatures in the IDE
Expose extra diagnostics about platform signature clashes from light class data

 #KT-1 In Progress
2014-06-19 22:10:45 +04:00
Alexander Udalov d78d4bc44c Disallow extension properties with backing fields
#KT-1682 Fixed
2014-05-29 21:24:05 +04:00
Andrey Breslav f72dcb8ee2 Fix for EA-53605 - UOE: PackageType.throwException 2014-05-19 17:02:18 +04:00
Natalia Ukhorskaya d70770afb2 Completion and highlighting for blockCodeFragment 2014-05-15 13:54:26 +04:00
Natalia Ukhorskaya a0549f0ff5 Evaluate expression: allow to call invisible members
#KT-4935 Fixed
2014-05-15 13:54:22 +04:00
Natalia Ukhorskaya 98532f321d Evaluate expression: add ability to import class 2014-05-05 16:12:38 +04:00
Natalia Ukhorskaya 931b628988 Editor for evaluate expression: implement highlighting and completion using ResolveElementCache 2014-04-23 18:10:02 +04:00
Andrey Breslav feece3c326 Temporarily disabling a blinking test 2014-04-18 21:28:24 +04:00
Alexey Sedunov 3952a121fb Pseudocode: Track PSI elements which correspond to jump instructions 2014-04-17 19:00:56 +04:00
Andrey Breslav f7c5dc179c Eager resolve does not record class object bounds (which are unsupported anyways) 2014-03-17 21:55:17 +04:00
Andrey Breslav 8be40c29cf CYCLIC_INHERITANCE_HIERARCHY reworked
We do not try to recover too gracefully from a cyclic hierarchy any more:
we simply remove all the edges that belong to a cycle instead of intelligently finding one most convenient edge to cut.
This is done in both lazy and eager resolve to keep tests passing.
2014-03-17 21:55:15 +04:00
Alexander Udalov f7b6457139 Replace "jet" package name with "kotlin" in testData 2014-03-02 19:55:26 +04:00
Alexander Udalov 3dcd85bdb4 Add toString() to Any, fix all tests
#KT-4517 Fixed
2014-03-02 19:54:49 +04:00
Alexander Udalov ec30d52978 Delete Hashable, pull up its members to Any
Extensions on nullable types remain in Library.kt

 #KT-1741 Obsolete
 #KT-2805 Obsolete
 #KT-1365 Fixed
 #KT-4517 In Progress
2014-03-02 19:54:08 +04:00
Svetlana Isakova 4c1c9f8407 do not record smart cast to not nullable type separately 2014-02-12 12:48:14 +04:00
Svetlana Isakova 9063b3803e record smartcast to the most specific type 2014-02-12 12:48:14 +04:00
Svetlana Isakova 791fa22abb KT-4405 Control-flow analysis is not performed for some local declarations #KT-4405 Fixed 2014-02-12 12:48:13 +04:00
Svetlana Isakova 9ed57a5767 removed AutoCastReceiver
check subtype for receiver by AutoCastUtils.isSubTypeByAutoCast directly
 #KT-4403 Fixed
 #KT-4415 Fixed
2014-02-12 12:48:10 +04:00
Svetlana Isakova 5ef320173c generate pseudocode for functions in local classes
#KT-4405 In progress
 #KT-3501 Fixed
2014-02-11 21:07:10 +04:00
Zalim Bashorov d032b5589c Frontend: fixed resolve annotation parameters on properties, accessors, accessor parameters, function parameters when not need complete analysis. 2014-01-27 15:34:55 +04:00
Evgeny Gerashchenko 958f7c862d Got rid of "namespace" word in test data. 2014-01-14 18:06:50 +04:00
Natalia Ukhorskaya 7a9d822070 'As' function for constants 2013-12-17 15:00:30 +04:00
Svetlana Isakova 46b77f4472 don't report unnecessary smart cast on receiver 2013-12-11 19:53:50 +04:00
Andrey Breslav 11fcd64949 Mark expressions for correct recognition by "unreachable code" 2013-12-05 13:02:17 +04:00
Nikolay Krasko 1675e45aee Enable basic spell check for Kotlin
#KT-4272 Fixed
2013-12-02 20:28:38 +04:00
Mikhael Bogdanov 868f4841be Inline keyword removal 2013-11-26 12:53:06 +04:00
svtk 8defeef050 made UNREACHABLE_CODE a warning instead of error 2013-11-22 18:57:59 +04:00