Commit Graph

70 Commits

Author SHA1 Message Date
Yan Zhulanow 254e8156ac NoArg: Initialize properties in noarg constructor (KT-16692) 2017-05-04 18:46:42 +03:00
Alexander Udalov d8d3bafbe9 Introduce "-Xreport-output-files" to report source-output mapping for JPS
This makes "-verbose" not required for JPS to run correctly and
therefore allows to print more useful debugging stuff in the compiler
and read them in CLI, for example. The output will also be more readable
because there'll be no "output" messages
2017-04-28 20:49:28 +03:00
Yan Zhulanow 14fde339ef Minor: Fix Android JPS test 2017-04-27 18:52:12 +03:00
Zalim Bashorov 51e84f7ce4 Move some script related part of frontend to separate module to avoid using kotlin-reflect.jar in frontend module
Main goal is get rid of kotlin-reflect.jar from modules what required for minimal compiler.jar which can compile Kotlin only to JS to make it smaller.
2017-04-17 18:18:35 +03:00
Mikhael Bogdanov 3df32ad425 Add flag for dex verification 2017-04-13 19:04:45 +02:00
Mikhael Bogdanov df65b3f6b3 Refactor test framework to process directives in one place
Perform directive processing in base test class
2017-04-13 19:04:44 +02:00
Ilya Chernikov 88652154c9 Port compiler to the script-runtime with script base classes 2017-04-06 10:02:45 +02:00
Yan Zhulanow cba523958e Android Extensions: Support Dialog classes (KT-16957) 2017-03-22 22:03:22 +03:00
Yan Zhulanow 5d4cefcc30 AllOpen: Do not make private members open (KT-16627) 2017-03-22 22:03:00 +03:00
Alexey Tsvetkov 40574d31ac JPS tests: avoid using deprecated API 2017-03-20 18:46:00 +01:00
Mikhail Glukhikh b121bf8802 Cleanup: fix some compiler warnings (mostly deprecations, javaClass) 2017-03-15 17:35:31 +03:00
Ilya Chernikov 4bb5e978a7 Implement SamWithReceiverAnnotations annotation and it's handling (KT-15848)
TODO: tests
2017-01-26 20:53:24 +01:00
Mikhail Zarechenskiy 6cccad9647 Update year in license and regenerate tests 2017-01-10 12:01:17 +03:00
Alexey Tsvetkov 4fdca24db4 Remove source annotations removing (not needed with KAPT3) 2016-12-19 22:46:12 +03:00
Yan Zhulanow 82dbba838a Allopen, minor: Add test for anonymous object 2016-12-19 21:18:06 +03:00
Yan Zhulanow cbef0250aa Allow to turn the first parameter of a SAM-converted lambda into the receiver (KT-12848) 2016-12-09 20:01:21 +03:00
Yan Zhulanow 3b65cb1ef2 Check if modality is refined in "Redundant modifier" inspection 2016-12-09 20:01:18 +03:00
Yan Zhulanow e626b121ad NoArg: Add compiler plugin 2016-12-09 20:01:10 +03:00
Yan Zhulanow 6abde4223b AllOpen: Add IDE integration 2016-12-09 20:01:07 +03:00
Yan Zhulanow f57df272ac Allopen: Handle allopen annotations on classes (KT-12149) 2016-12-09 20:00:56 +03:00
Yan Zhulanow d884830700 Allow to avoid declaration body resolution for function and property initializers if the return type is explicitly specified. This significantly reduces the analysis time in kapt3. 2016-12-05 19:57:43 +03:00
Yan Zhulanow 64046f1e40 Kapt3: Add simple AP test with Kotlin 2016-12-05 19:57:33 +03:00
Alexey Tsvetkov ea93ec3eec Ensure jps caches are always cleared in tests 2016-11-18 23:17:30 +03:00
Zalim Bashorov 1dedb38481 Regenerate tests 2016-11-09 21:41:12 +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 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 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
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 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 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 9127788f4a Kapt: Fix erasure() for executable types (KT-13629)
(cherry picked from commit 461c29d)
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
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