Commit Graph

438 Commits

Author SHA1 Message Date
Yan Zhulanow 34efaea6ea Increment PsiModificationTracker counter in a write action
(cherry picked from commit 73307a2)
2016-10-07 16:28:34 +03:00
Yan Zhulanow 2f933cfcf2 Kapt: Handle exceptions during annotation processing gracefully
(cherry picked from commit ee26c19)
2016-10-07 16:28:33 +03:00
Yan Zhulanow 82160bc86d Parse enum arrays correctly
(cherry picked from commit 5f2b5cf)
2016-10-07 16:28:32 +03:00
Yan Zhulanow f15f90a719 Kapt: Support apt options (KT-13984)
(cherry picked from commit b566a37)
2016-10-07 16:28:31 +03:00
Yan Zhulanow 46f3eae32c Kapt: Dispose every JeElement and JeTypeMirror because some annotation processors may store them in static fields. (KT-13917)
Hello, Data Binding, why you cache them? :(

(cherry picked from commit d86a30b)
2016-10-07 16:28:29 +03:00
Yan Zhulanow f83e7509b2 Kapt: typeElement.asType() should preserve type parameters and propagate it to its supertypes (KT-13865)
(cherry picked from commit 92c9cea)
2016-10-07 16:28:28 +03:00
Yan Zhulanow a22721fbd8 Kapt: Add test on Map<Key, Intf> and MutableMap<Key, Intf>
(cherry picked from commit 59cdbcb)
2016-10-07 16:28:28 +03:00
Yan Zhulanow 30ed279426 Kapt: Measure Annotation Processing time
(cherry picked from commit 2554d40)
2016-10-07 16:28:27 +03:00
Yan Zhulanow 238340a143 Kapt: Simplify wrapper tests
(cherry picked from commit 1677984)
2016-10-07 16:28:25 +03:00
Yan Zhulanow e04f834a0e Kapt: Support type parameters in asMemberOf() (KT-13804)
(cherry picked from commit 0d97d73)
2016-10-07 16:28:24 +03:00
Yan Zhulanow 415acfbd05 Kapt: asMemberOf() should also check the containing type itself, not only its supertypes (KT-13823)
(cherry picked from commit 9f9ffdf)
2016-10-07 16:28:23 +03:00
Yan Zhulanow cb9dc21649 Dispose IntelliJ platform components after annotation processing complete.
Annotation processors may cache ProcessingEnvironment.

(cherry picked from commit bd7a9c6)
2016-10-07 16:28:22 +03:00
Yan Zhulanow 49926fda36 Use LightParameter from Kotlin light classes to add an inner class constructor parameter instead of calling addParameter(name, type). The latter tries to load an icon :( (KT-13798)
(cherry picked from commit cc86d79)

(cherry picked from commit de55de2)
2016-10-07 16:28:21 +03:00
Yan Zhulanow f7f8cff00d Kapt: Return substituted supertypes in directSupertypes() for immediate class types (KT-13746)
(cherry picked from commit 3aae990)

(cherry picked from commit 198115b)
2016-10-07 16:28:20 +03:00
Yan Zhulanow 8d2a4c3f91 asMemberOf() should always substitute type parameters for methods using the relevant substitutor
(cherry picked from commit dfadd17)

(cherry picked from commit 49b07a7)
2016-10-07 16:28:19 +03:00
Alexander Udalov 53b584f48c Simplify usages of IncrementalPackageFragment and related code
Since its scope is now empty, no descriptor now has a container that is an
instance of IncrementalPackageFragment -> a lot of code is not needed anymore
2016-10-05 11:24:30 +03:00
Michael Bogdanov 1eac6d47ed GenerationState in TypeMapper replaced with boolean flag 2016-10-03 14:13:17 +03:00
Michael Bogdanov 0390cd6ee1 Added GenerationState to KotlinTypeMapper 2016-10-03 14:05:59 +03:00
Nikolay Krasko ea1aac07ec Problem: workaround thread leaking problem 2016-09-20 15:27:08 +03:00
Nikolay Krasko 72c6c66b48 API Change: Implement new method isSuppressAll() 2016-09-20 15:10:48 +03:00
Dmitry Petrov 796d11c860 ClassDescriptor is now a super-interface for ClassConstructorDescriptor and TypeAliasConstructorDescriptor. 2016-09-20 10:55:36 +03:00
Nikolay Krasko d96863da93 Fix severe freezes because of long lint checks on large files (KT-13071)
- Run lint analyze under indicator with write action priority. Otherwise ProgressManager.checkCanceled() checks doesn't work
 - Move ProgressManager.checkCanceled() up or they are not called in large files without lint warnings

 #KT-13071 Fixed
2016-09-19 18:53:52 +03:00
Alexey Tsvetkov 6ebb50751c Remove source annotations when copy class with kapt2
Writing source annotations enables incremental compilation for kapt2.
However they are not needed in bytecode, so we remove them when
copying classes.

# Conflicts:
#	compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt
#	compiler/frontend.java/src/org/jetbrains/kotlin/config/JVMConfigurationKeys.java
2016-09-14 13:52:56 +03:00
Yan Zhulanow fbf44aa9be Kapt: Fix erasure() for immediate class types (KT-13748)
(cherry picked from commit 5fe01f6)
2016-09-10 17:36:51 +03:00
Yan Zhulanow ef375e66cd Kapt: calculate default values of Kotlin annotations correctly for annotations from binaries (KT-13733)
(cherry picked from commit fed9cb2)
2016-09-10 17:36:50 +03:00
Yan Zhulanow 025f861e76 Minor: Fix path separators check on Windows
(cherry picked from commit 974bbe7)
2016-09-10 17:36:15 +03:00
Yan Zhulanow c6c1673902 Kapt: load all annotations, even if annotation processors does not require it explicitly. Some annotation processors may want to process some more annotations (see DbFlow, Database annotation).
Blacklist some common-used Java and Kotlin annotations instead (like Deprecated, Nullable or Metadata).
(cherry picked from commit 6856a7c)
2016-09-10 17:36:15 +03:00
Yan Zhulanow 975364b2ed Kapt: Provide SourceRetentionAnnotationHandler for incremental compilation.
Collect annotations with the "SOURCE" retention.
(cherry picked from commit 6ef66e7)
2016-09-10 17:36:15 +03:00
Yan Zhulanow c3ae66bc9c Minor: fix compilation exception (due to exception in kotlinc)
(cherry picked from commit 5f2d3c4)
2016-09-10 17:36:15 +03:00
Yan Zhulanow 471ddc5a93 Kapt: Write annotations with the "SOURCE" retention if kapt2 is enabled
(cherry picked from commit 6177b2b)
2016-09-10 17:36:15 +03:00
Yan Zhulanow 00355f3c52 Kapt: Remove generated output directory each time before annotation processing
(cherry picked from commit c4b772a)
2016-09-10 17:36:15 +03:00
Yan Zhulanow 32d77e5226 Kapt: support incremental compilation in Gradle (KT-13500)
Kapt will process sources on each step of incremental compilation.
(cherry picked from commit 4cb2127)
2016-09-10 17:36:15 +03:00
Yan Zhulanow 743be477ec Kapt: Add tests with Filer.
JavaFileObject.getName() now returns a path as required.
(cherry picked from commit c611f9b)
2016-09-10 17:36:15 +03:00
Yan Zhulanow 824b778a7b Kapt: support multiple annotation processing steps (KT-13651)
(cherry picked from commit 880e183)
2016-09-10 17:36:15 +03:00
Yan Zhulanow 6ceaac63dc Kapt: provide a default constructor if PsiClass does not have any
(cherry picked from commit 550b1c0)
2016-09-10 17:36:15 +03:00
Yan Zhulanow 7a00b028af Kapt: Do not substitute type arguments for PsiClassReferenceType
(cherry picked from commit 3954c71)
2016-09-10 17:36:15 +03:00
Yan Zhulanow cacec67044 Kapt: Do not use PsiType comparison in equals() where possible
(cherry picked from commit 89ba634)
2016-09-10 17:36:15 +03:00
Yan Zhulanow 18068c699d Kapt: Represent a single element as an array if the annotation method type is array type
(cherry picked from commit 19ce4cb)
2016-09-10 17:36:15 +03:00
Yan Zhulanow 9127788f4a Kapt: Fix erasure() for executable types (KT-13629)
(cherry picked from commit 461c29d)
2016-09-10 17:36:15 +03:00
Yan Zhulanow 941d016cef Kapt: abort compilation on error in annotation processing stage (KT-13622)
(cherry picked from commit f78b8b4)
2016-09-10 17:36:15 +03:00
Yan Zhulanow cc7eaeb910 Kapt: Allow passing primitive types and void to erasure() (KT-13617)
(cherry picked from commit 91444c5)
2016-09-10 17:36:15 +03:00
Nikolay Krasko 67f353903e Show lint diagnostics even if there're errors in the file (KT-12022)
It also affects working with KotlinChangeLocalityDetector. Right after error is fixed in local context file is still reported as having errors and diagnostics are not counted.

 #KT-12022 Fixed
2016-09-02 13:41:24 +03:00
Yan Zhulanow 1a94e2202b Minor: Fix compilation error 2016-08-29 18:30:27 +03:00
Yan Zhulanow 7810678389 Kapt: Fix type arguments in JeDeclaredType. In case of type variable, JeTypeVariableType should be returned
(cherry picked from commit ed34ec0)
2016-08-29 16:31:16 +03:00
Yan Zhulanow ebcc762ae9 Kapt: JeTypeElement getInterfaces() and getSuperClass() should provide reference type mirrors
(cherry picked from commit 5f50ab6)
2016-08-29 16:31:16 +03:00
Yan Zhulanow cd44540965 Kapt: Support String[] in annotation proxy
(cherry picked from commit 5e9eab9)
2016-08-29 16:31:16 +03:00
Yan Zhulanow 0042a59fb6 Kapt: Use also the compile classpath, not only apt classpath
(cherry picked from commit d810119)
2016-08-29 16:31:16 +03:00
Yan Zhulanow a8b577cd09 Kapt: Support nested annotations property.
Also do not rely on Java class comparison, check against qualified names.
(cherry picked from commit 7610945)
2016-08-29 16:31:16 +03:00
Yan Zhulanow 49bd303988 Kapt: Fix broken assertion
(cherry picked from commit 36b0b52)
2016-08-29 16:31:16 +03:00
Yan Zhulanow 9960e7f7cd Kapt: Get rid of the 'compiler-tests' dependency in 'plugins-tests'
(cherry picked from commit bb370f1)
2016-08-29 16:31:16 +03:00