Commit Graph

914 Commits

Author SHA1 Message Date
Alexander Udalov aa4d6a4ea7 Support :: references to properties in frontend
#KT-1183 In Progress
2014-07-02 01:26:18 +04:00
Alexander Udalov 52dadfc264 Add test for obsolete issue
#KT-3311 Obsolete
2014-07-02 00:38:50 +04:00
Alexander Udalov a9b2fd964b Support nullable types on left-hand side of ::
#KT-1183 In Progress
2014-06-26 20:57:39 +04:00
Alexander Udalov e31f2cfa23 Make protected static visibility reach members in the same package 2014-06-26 20:57:39 +04:00
Nikolay Krasko d8490ce2a6 Don't parse entries if left brace absent in 'when' 2014-06-25 14:22:53 +04:00
Nikolay Krasko f36f1796d6 Fix recovery for 'for' expression 2014-06-25 14:22:53 +04:00
Svetlana Isakova 0673dc51d6 Test for KT-3162 More precise try-finally error marking
#KT-3162 Obsolete
2014-06-24 16:14:07 +04:00
Svetlana Isakova 8680ff4e88 Do not mark comment next to reachable child as unreachable 2014-06-24 16:14:06 +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 4279da12f5 KT-5200 Mark unreachable code in lambdas
#KT-5200 Fixed
2014-06-21 12:26:33 +04:00
Svetlana Isakova abfc8ed7e8 KT-5155 Auto-casts do not work with when
#KT-5155 Fixed
2014-06-21 12:26:33 +04:00
Svetlana Isakova 17c4930404 KT-2334 An error 'local function without body' is not reported
#KT-2334 Fixed
2014-06-21 12:26:33 +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
Svetlana Isakova 6e622f2301 Highlight all text ranges for diagnostics in tests 2014-06-21 12:26:32 +04:00
Andrey Breslav 64175d3996 Tests for some more cases of JVM signature clashes 2014-06-20 15:51:47 +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 b076dc3b58 Test for signature clash in fields copied from class object 2014-06-19 22:12:01 +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 9f29a8b263 Test for required class 2014-06-19 22:12:00 +04:00
Andrey Breslav 98701b7c6e Properly check overloads in enum 2014-06-19 22:11:59 +04:00
Andrey Breslav f1545963f3 Generate $propertyMetadata field in LIGHT_CLASSES mode 2014-06-19 22:11:58 +04:00
Andrey Breslav 654dd5afff Tests for more special names 2014-06-19 22:11:58 +04:00
Andrey Breslav b49a203a67 Generate bridges in light classes 2014-06-19 22:11:56 +04:00
Andrey Breslav f59ff5d8fe Diagnostics for illegal platform names 2014-06-19 22:11:54 +04:00
Andrey Breslav 111c0e55b8 Extra test for the case of error types in detecting duplicate signatures 2014-06-19 22:11:53 +04:00
Andrey Breslav 707da9278f Do not skip delegated members in LIGHT_CLASSES mode 2014-06-19 22:10:57 +04:00
Andrey Breslav 622b7e3740 Do not report ACCIDENTAL_OVERRIDE on SAM adapters and such 2014-06-19 22:10:55 +04:00
Andrey Breslav 6bbc8ea951 Fix reporting errors on properties declared in constructors 2014-06-19 22:10:55 +04:00
Andrey Breslav 27f76630e6 ACCIDENTAL_OVERRIDE diagnostics supported
#KT-1 In Progress
2014-06-19 22:10:55 +04:00
Andrey Breslav d2e464a02b Tests for local classes in weird positions 2014-06-19 22:10:54 +04:00
Andrey Breslav 9cb71c7fa8 Test data fixed 2014-06-19 22:10:54 +04:00
Andrey Breslav 55cfa161c7 Report conflicting signatures that are purely inherited from traits
When all signatures are inherited from traits, the origin elements lie outside of the class in question
2014-06-19 22:10:54 +04:00
Andrey Breslav dd23b02dae Use safe names in codegen, for the case of light classes 2014-06-19 22:10:53 +04:00
Andrey Breslav d2ce6f5787 Safe identifier for the case of no name in PSI moved to 'descriptors' module, to be used in 'descriptor.loader.java' 2014-06-19 22:10:52 +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 f3c46341e5 Filtering out duplicate signature diagnostics if CONFLICTING_OVERLOADS or REDECLARATION is present 2014-06-19 22:10:51 +04:00
Andrey Breslav 851fbbc937 Test data fixed 2014-06-19 22:10:50 +04:00
Andrey Breslav 592328aa27 Test data fixed 2014-06-19 22:10:49 +04:00
Andrey Breslav 38333d6cea CONFLICTING_PLATFORM_DECLARATIONS moved to a JVM-specific class 2014-06-19 22:10:48 +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 705a081919 KT-5214 Annotation to provide platform name to avoid signature conflict
#KT-5214 Fixed
2014-06-10 18:21:36 +04:00
Svetlana Isakova 68b4b8e946 KT-5182 Data flow info is lost for 'when' branches
#KT-5158 Fixed
  #KT-4332 Fixed
2014-06-06 15:56:02 +04:00
Alexey Sedunov d2c055e9da Pseudocode: Introduce pseudo-value analysis 2014-06-03 18:17:05 +04:00
Andrey Breslav 37532e8d02 Compare return types when structurally comparing callables 2014-06-02 22:05:34 +04:00
Andrey Breslav 7f60ccf663 Support equalityAxioms in isSubtypeOf() 2014-06-02 22:05:33 +04:00
Andrey Breslav e50a17e668 Do not compare local classes by FqNames 2014-06-02 22:05:32 +04:00
Andrey Breslav 204fa76691 When checking overrides, compare methods structurally
Because they may come from different copies of the same class from different modules
2014-06-02 22:05:28 +04:00
Alexander Udalov 796912bfcb Provide implicit receiver to extension property initializer
This is safe because initializers for extension properties are forbidden
anyway, we'll just won't be generating noisy error messages about non-existent
'this'
2014-05-29 21:24:06 +04:00
Alexander Udalov d78d4bc44c Disallow extension properties with backing fields
#KT-1682 Fixed
2014-05-29 21:24:05 +04:00