Commit Graph

119 Commits

Author SHA1 Message Date
Dmitry Petrov 2b27e64fc8 Improve diagnostics for "not yet supported in inline"
- Tell user what exactly is not supported (e.g., local inline function)
- Reduce diagnostics range to a keyword or an identifier
  where appropriate

 #KT-16223 Fixed Target versions 1.1.50
2017-09-06 09:46:33 +03:00
Mikhael Bogdanov 79ecc7fd5c Don't recognize nullable function types as inlinable
#KT-19679 Fixed
2017-08-17 14:24:00 +02:00
Mikhael Bogdanov ba06ad3e53 Minor. Fix test directive 2017-05-22 08:31:03 +02:00
Mikhael Bogdanov f4a388cf71 Add new tests for default lambda inlining 2017-05-18 18:18:14 +02:00
Mikhael Bogdanov 42074f143d Report diagnostic on inline parameter usage inside defaul value for another inline parameter 2017-05-18 18:18:13 +02:00
Mikhael Bogdanov 0ac23c789e Add diagnostics for default lambda inlining 2017-05-17 10:19:54 +02:00
Dmitry Neverov cd24adac32 Detect redundant 'is' check
#KT-14187 Fixed
2017-05-15 11:24:35 +03:00
Mikhail Zarechenskiy 7541a3754d Move SAM constructors to synthetic scope 2017-05-05 21:30:35 +03:00
Mikhail Zarechenskiy 32f609ceee Check lambda parameter for name shadowing
#KT-5160 Fixed
2017-04-17 17:12:44 +03:00
Mikhael Bogdanov ec42b58877 Fix @PublishedApi checking 2017-01-11 11:50:34 +01:00
Mikhael Bogdanov b5ec30666b Fix for KT-15410: "Protected function call from public-API inline function" for protected constructor call
#KT-15410 Fixed
2016-12-27 14:07:37 +01:00
Mikhael Bogdanov 6ca1d47207 Published-api checker refactoring, support java package-protected visibility 2016-12-20 09:42:13 +01:00
Mikhael Bogdanov f4259c5f82 Added deprecation for protected call within inline functions 2016-12-09 11:55:16 +01:00
Mikhael Bogdanov 038065e827 Updated NON_PUBLIC_CALL_FROM_PUBLIC_INLINE diagnostic to support @PublishedApi 2016-12-09 11:55:15 +01:00
Alexander Udalov 525e6e53fe Do not report unhelpful diagnostic for unresolved call inside inline function
#KT-14887 Fixed
2016-11-22 18:19:01 +03:00
Denis Zharkov 4c69416f2b Report warning on unused entities that can be renamed to _
Currently it's all about lambda parameters/destructuring entries

 #KT-14347 In Progress
2016-10-24 10:19:25 +03:00
Valentin Kipyatkov 41ee06ec96 Use parameter names in DescriptorRenderer 2016-10-11 23:38:49 +03:00
Nikolay Krasko 300e0acd27 Report RETURN_NOT_ALLOWED and RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY only on the return with label (KT-13340)
#KT-13340 Fixed
2016-08-05 13:16:05 +03:00
Alexander Udalov 8357f3021e Do not report errors on fake elements in call checkers
#KT-12875 Fixed
2016-06-29 22:03:36 +03:00
Alexander Udalov 260689eb8c Invoke call checkers where symbol usage validators are called
The change in componentAccess.kt is a minor regression that should be addressed
later
2016-06-29 19:21:06 +03:00
Mikhael Bogdanov 321e97a329 AnalyzerExtension refactoring, added support for inline properties 2016-06-24 17:05:52 +03:00
Mikhael Bogdanov d524a34fc7 Support property accessor in inline checks 2016-06-24 17:05:49 +03:00
Dmitry Petrov a25ba5baf1 KT-12156: for the purposes of inline-related diagnostics
treat function declaration as final if it is a member of a final class
2016-05-19 17:43:29 +03:00
Denis Zharkov d0acb3674a Fix rendered testData
New members in enum member scope
2016-05-16 15:38:13 +03:00
Dmitry Petrov 420c7a0285 KT-11111:
- override by a final inline fun is a warning
- override by a fun with reified type parameters is an error
2016-04-20 11:59:03 +03:00
Dmitry Petrov 77b7128689 Check conflicting overloads for generic signatures. 2016-03-03 18:26:09 +03:00
Alexander Udalov 1b8f934b54 Delete deprecated enum 'values' property 2016-02-19 22:28:44 +03:00
Michael Bogdanov 394221fefb Updated test data 2016-02-03 10:35:32 +03:00
Michael Bogdanov 4b203de608 INVISIBLE_MEMBER_FROM_INLINE renamed to NON_PUBLIC_CALL_FROM_PUBLIC_INLINE 2016-02-03 10:35:29 +03:00
Michael Bogdanov d1db404959 Error diagnostic for private classes in inline functions; Fix for KT-7545: IllegalAccessError when accessing private nested class through inlined function from different package
#KT-7545 Fixed
2016-02-03 10:32:41 +03:00
Denis Zharkov 505dc61611 Treat extension receiver as noinline parameter
#KT-9574 Fixed
2016-01-29 14:36:53 +03:00
Ilya Gorbunov f4822cd757 Fix testData in compiler: add collections and ranges package to fq-names. 2016-01-22 05:54:38 +03:00
Alexander Udalov 7449ad2763 Rename Extension annotation to ExtensionFunctionType
The old one is kept temporarily and will be removed later
2015-12-21 20:33:32 +03:00
Mikhail Glukhikh c8b50eec1e Enum.values: deprecation (warning) --> deprecation (error) 2015-12-11 11:11:42 +03:00
Alexander Udalov 877129340f Revert "Rename Extension annotation to ExtensionFunctionType"
This reverts commit 460dad135c.

The old compiler will not see the new runtime correctly. Postponing this until
1.0
2015-11-30 19:24:58 +03:00
Alexander Udalov 460dad135c Rename Extension annotation to ExtensionFunctionType 2015-11-30 02:51:04 +03:00
Mikhail Glukhikh dc60c62781 Enum.values is now deprecated but Enum.values() is no more deprecated 2015-11-23 17:29:36 +03:00
Ilya Gorbunov 5f675c55ed Fix deprecated ranges and range member usages in tests. 2015-11-11 03:53:42 +03:00
Michael Bogdanov d5126213d3 Fix for KT-9364: M13 Wrong compiler error for "unable to inline function"
#KT-9364 Fixed
2015-10-22 17:20:57 +03:00
Alexey Tsvetkov 1e2256207c Update test data 2015-10-19 20:45:02 +03:00
Yan Zhulanow b2470a6aad Report warning on unary plus()/minus() 2015-10-19 11:51:54 +03:00
Denis Zharkov 1c02231cda Regenerate rendered descriptors after transforming Enum.values to property 2015-10-17 17:46:16 +03:00
Mikhail Glukhikh f8a356747e Stdlib rename: 'name' and 'ordinal' are now properties in Enum, same name functions are deprecated 2015-10-14 20:40:13 +03:00
Denis Zharkov f0e3fd617d Adjust testData to CharSequence.length transformation 2015-10-14 20:39:35 +03:00
Yan Zhulanow 275f3f8954 'operator' checks 2015-10-14 01:29:10 +03:00
Yan Zhulanow 1b01e7a85a Fix tests ('infix') 2015-10-07 15:50:23 +03:00
Mikhail Glukhikh 7cf2840fe5 'final' is deprecated in interfaces 2015-09-29 13:05:08 +03:00
Yan Zhulanow 6db9344659 Fix compiler tests 2015-09-25 19:20:20 +03:00
Mikhail Glukhikh 9ccf1a1729 Partial rollback: 'private' is no more deprecated in interfaces, some tests rolled back accordingly 2015-09-25 18:57:52 +03:00
Denis Zharkov 73799e2c3c Replace deprecated lambda syntax in testData
It's done with similar constructions where possible trying to preserve
intended behavior.
Some usages are removed because they test exactly the feature that
we are going to drop soon.
2015-09-25 08:29:25 +03:00