Commit Graph

38871 Commits

Author SHA1 Message Date
Yan Zhulanow 7bbf9861d0 Kapt3: Simplify handling of annotation processing exceptions
The previous handling method was unreliable ("Don't know how to render diagnostic of type KAPT3_PROCESSING_ERROR", exceptions being lost).
2017-05-04 19:59:30 +03:00
Alexey Tsvetkov f8b785fc31 Test that Kapt3 IC removes stubs for dirty source files 2017-05-04 19:59:29 +03:00
Alexey Tsvetkov 5c041cb182 Kapt3: Remove source stubs together with the class files when .kt file is marked dirty (IC) 2017-05-04 19:59:29 +03:00
Yan Zhulanow 19c00abc62 Kapt3: Avoid annotation processing execution when possible (KT-17620)
Do not execute annotation processing if no stubs (and Java files) were changed since the previous execution.
2017-05-04 19:59:16 +03:00
Yan Zhulanow c8d7c339cf Kapt3: Modify kapt incremental tests in order to support kapt3 2017-05-04 19:00:43 +03:00
Yan Zhulanow c18bf5088d Kapt3: Support incremental compilation of Java stubs (KT-15151) 2017-05-04 19:00:42 +03:00
Yan Zhulanow 3bf534b392 Kapt3: Support apt modes
Allow to run kapt in "annotation processing only" and "stub generation only" modes in order to support incremental compilation in Gradle.
Unfortunately, annotation processing can't be done incrementally cause it uses all module files, but the stub generation can be done incrementally.
2017-05-04 19:00:41 +03:00
Yan Zhulanow 7a692b56f4 Add kapt3 module to non-compiler-tests 2017-05-04 18:46:44 +03:00
Yan Zhulanow 99a05f5d61 Kapt3: Convert reference to KMutableMap.Entry correctly (KT-17567) 2017-05-04 18:46:43 +03:00
Yan Zhulanow 254e8156ac NoArg: Initialize properties in noarg constructor (KT-16692) 2017-05-04 18:46:42 +03:00
Yan Zhulanow eba5baa7ff Kapt3: Add Maven integration test 2017-05-04 18:46:41 +03:00
Anton Bannykh 7503376731 JS: unmute box/test/coroutinessuspendFunctionAsCoroutine/inlineTwoReceivers.kt 2017-05-04 16:47:00 +03:00
qx a5dea7ef1c Fixes after review: used getParentOfType 2017-05-04 16:11:18 +03:00
qx 079380c70d Fixes after review: renamed to isMemberExtensionDeclaration 2017-05-04 16:11:18 +03:00
qx 0ba4a82ca6 Fixes after review: ConvertMemberToExtensionIntention.convert moved to companion object 2017-05-04 16:11:18 +03:00
qx f163788821 Fixes after review: got rid of unused parameters 2017-05-04 16:11:17 +03:00
qx f6fe1c50c2 Used ConvertMemberToExtensionIntention in MigrateExternalExtensionFix instead of manually creating extension method 2017-05-04 16:11:17 +03:00
qx 8ba61ce7aa Fixed KT-15270 Quickfix to migrate from @native*** 2017-05-04 16:11:17 +03:00
qx 11bc0d87b8 Fixes to AbstractQuickFixTest (full path to file and file separator)
The full path to file in getTestDataPath is necessary to show file diff link in exception when the test fails.
The File.separatorChar fixes tests on Windows machines.
2017-05-04 16:11:16 +03:00
qx 71de20b9e6 Retain javascript name from @native annotation
As the first part of KT-15257 JS: quickfix to migrate from @native to external
2017-05-04 16:11:16 +03:00
qx c364e79557 Implemented @native-* annotation migration quickfix for extension functions
As the first part of KT-15270 Quickfix to migrate from @native***
2017-05-04 16:11:16 +03:00
Anton Bannykh a71e5abb45 Update KotlinVersion.CURRENT to 1.1.4 2017-05-04 15:24:40 +03:00
Mikhail Glukhikh 1273166ed0 Do not report redundant else for enum / sealed from another module
Related to KT-17497
2017-05-04 14:17:43 +03:00
Mikhail Glukhikh 35754a98e7 KT-17497 related: introduce fix for REDUNDANT_ELSE_IN_WHEN 2017-05-04 14:17:42 +03:00
Mikhail Glukhikh 14886827a2 Introduce warning REDUNDANT_ELSE_IN_WHEN #KT-17497 Fixed 2017-05-04 14:17:41 +03:00
Mikhail Glukhikh e53c548ead Consider property external if all accessors are external #KT-13997 Fixed 2017-05-04 14:17:40 +03:00
Mikhail Glukhikh b8af0f5922 J2K: move isEffectivelyExternal to kt-file, parameter -> receiver 2017-05-04 14:17:38 +03:00
Dmitry Petrov d5feb2d6f4 Deep copy fixes + sanitize file names for module dumps 2017-05-04 13:51:17 +03:00
Dmitry Petrov 506941e7e0 Optimize range operations for 'until' extension from stdlib (KT-9900)
NB: for-in-until loop is generated as precondition loop, because the
corresponding range is right-exclusive (and thus we have no problems
with integer overflows).
2017-05-04 10:09:42 +03:00
Dmitry Petrov b83620fdb9 Minor: DeepCopyIrTree: make some utility methods 'protected' 2017-05-04 09:33:03 +03:00
Dmitry Petrov e600a1af30 Minor: IrDeclarationOrigin.NEW_INSTANCE_RECEIVER -> INSTANCE_RECEIVER 2017-05-04 09:33:03 +03:00
Dmitry Petrov 1eb693b8ee Transform variable-as-function calls for extension functions
In the following code example
  fun test(f: Any.() -> Unit) = 42.f()
front-end resolves variable-as-function call for 'f' as 'invoke'
with signature 'Function1<Any, Unit>#Any.() -> Unit'.
However, Function1<Any, Unit> has a single 'invoke' method
with signature 'Function1<Any, Unit>#(Any) -> Unit'.
This didn't cause any problems with loosely typed JVM and JS back-ends.
However, in IR with symbols this means a reference to non-existing
declaration.
2017-05-04 09:33:03 +03:00
Dmitry Petrov 7bd75df1f1 Minor: small refactorings in IrElementTransformerVoid 2017-05-04 09:33:03 +03:00
Dmitry Petrov 0203ba4dff Use stable order when generating stubs for scope members 2017-05-04 09:33:03 +03:00
Dmitry Petrov 40939da9fb Minor: DeclarationGeneratorExtension already extends Generator 2017-05-04 09:33:03 +03:00
Dmitry Petrov 17706d0fb6 Generate parameter declarations for synthetic members of enum classes 2017-05-04 09:33:03 +03:00
Dmitry Petrov c4346f95ff Minor: fix testData format local delegated properties with 'suspend' 2017-05-04 09:33:03 +03:00
Dmitry Petrov 8b32d54a62 Minor: fix testData format for IR source range tests 2017-05-04 09:33:03 +03:00
Dmitry Petrov 78a601af87 Generate parameter declarations for fake overrides 2017-05-04 09:33:03 +03:00
Dmitry Petrov fa4dc26814 Put 'thisReceiver' declaration in class
Interfaces also have 'thisReceiver'
2017-05-04 09:33:03 +03:00
Dmitry Petrov 90ec53b3b0 Generate catch-block body within proper scope 2017-05-04 09:33:03 +03:00
Dmitry Petrov acefd0d891 Minor refactor and fix in Scope constructors 2017-05-04 09:33:03 +03:00
Dmitry Petrov 54294eaaa7 Minor fix and deprecation in DeepCopyIrTree 2017-05-04 09:33:03 +03:00
Dmitry Petrov 4dd199fedf OldDeepCopyIrTree --> DeepCopyIrTree (for migration) 2017-05-04 09:33:03 +03:00
Dmitry Petrov d5fb0f3f32 Minor: simplify code in generateEnumConstructorCallOrSuperCall 2017-05-04 09:33:03 +03:00
Dmitry Petrov aa515a9e5a Add test for outer class instance reference from inner class 2017-05-04 09:33:03 +03:00
Dmitry Petrov 5ec9cb3171 OldDeepCopyIrTree: old DeepCopyIrTree working with new IrElement hierarchy 2017-05-04 09:33:03 +03:00
Dmitry Petrov b53807ab83 Drop IrBuiltinsOperatorsBuilder 2017-05-04 09:33:03 +03:00
Dmitry Petrov de7b7ce6d5 Generate anonymous initializer body in separate scope 2017-05-04 09:33:03 +03:00
Dmitry Petrov 9c3387e174 Deprecate IrMemberFunctionBuilder 2017-05-04 09:33:03 +03:00