Commit Graph

62 Commits

Author SHA1 Message Date
Yan Zhulanow ec291455fa Kapt3: Replace error/NonExistentClass with the actual type (from PSI) (KT-15421) 2017-01-15 22:11:11 +09:00
Mikhael Bogdanov 2931c316a3 Fix for KT-15575: VerifyError: Bad type on operand stack
#KT-15575 Fixed
2017-01-11 11:50:33 +01:00
Mikhail Zarechenskiy 6cccad9647 Update year in license and regenerate tests 2017-01-10 12:01:17 +03:00
Yan Zhulanow 78a3dae314 Kapt3: Always write Kotlin stubs to .java files, and make javac always parse them from source files, not from JCTree (in order to support incremental compilation). 2016-12-28 22:28:35 +03:00
Yan Zhulanow fdb568f86d Kapt3: Generate incremental compilation metadata (light classes with Kotlin metadata) 2016-12-28 22:28:33 +03:00
Yan Zhulanow aa84cc4911 Kapt3: Fix stack trace reporting (KT-15433) 2016-12-28 22:28:32 +03:00
Yan Zhulanow 8953e33417 Kapt3: Force annotation processing classpath entries to be unique 2016-12-28 22:28:31 +03:00
Yan Zhulanow 5844f3cf1b Kapt3: Write stub class files with metadata (needed for incremental compilation) 2016-12-28 22:28:30 +03:00
Yan Zhulanow 4667947315 Kapt3: Nested class inside an interface should always be public and static (KT-15145) 2016-12-28 22:18:06 +03:00
Yan Zhulanow 8a9c858d78 Minor: review changes 2016-12-28 22:18:05 +03:00
Yan Zhulanow 142496c00f Kapt: Parse generic signatures with inner class types correctly 2016-12-28 22:18:04 +03:00
Ilya Chernikov 4f2410ffe0 Fix TC compilation and kapt3 tests compilation 2016-12-20 10:02:01 +01:00
Alexey Tsvetkov 865c6d887c Report messages from kapt using MessageCollector
This allows to print messages when daemon is used.
System out is not copied to daemon client,
because multiple compilations can occur in parallel.
2016-12-19 22:55:25 +03:00
Yan Zhulanow 568523b065 Kapt3: Set correct compiler options when the annotation processing classpath is empty (KT-15146). Disable annotation processing in Javac task a bit earlier 2016-12-19 21:18:17 +03:00
Yan Zhulanow 91fcb15f3e Kapt3: Set javac codepage to UTF-8 (KT-15232) 2016-12-14 20:53:34 +03:00
Yan Zhulanow 8afac55a90 Kapt3, Minor: Sort stubs output in tests 2016-12-09 20:53:48 +03:00
Yan Zhulanow 7644724cd3 Kapt3: Fix tests (parameter names are not provided for abstract methods in 1.1) 2016-12-09 20:48:24 +03:00
Yan Zhulanow 5061bab794 Kapt3: Add property annotation holder methods to Java stubs (KT-13767) 2016-12-09 20:40:35 +03:00
Yan Zhulanow e3db014c27 Kapt3: Allow to use ':' in annotation processor option value (KT-15139) 2016-12-09 20:29:34 +03:00
Yan Zhulanow 3f8accc2bf Kapt3: Fix '$' in function generic signatures (KT-15148) 2016-12-09 20:29:23 +03:00
Yan Zhulanow 40ef487129 Kapt3, Minor: Flush logs before throwing parse error exception 2016-12-09 20:29:14 +03:00
Yan Zhulanow c0b772a896 Kapt3: Fix signature clash (return type is different) for non-generic methods 2016-12-09 20:28:57 +03:00
Yan Zhulanow 5f0d270e9e Kapt3: Clear javac's boot classpath (KT-15001) 2016-12-09 20:28:52 +03:00
Yan Zhulanow ada8bb63a4 Kapt3: Separate classpaths for compilation and for annotation processing 2016-12-09 20:28:46 +03:00
Yan Zhulanow 3c77242da2 Kapt3: Fix parameter names in JvmOverloads-generated methods (KT-15024) 2016-12-09 20:28:41 +03:00
Yan Zhulanow 77153f0926 Kapt3: Fix "Parameter names are clashing in inner class constructor" (KT-14998) 2016-12-09 20:28:36 +03:00
Yan Zhulanow b9a0a4f3db Kapt3: Ensure that field types and method return types are not anonymous (KT-14997) 2016-12-09 20:28:31 +03:00
Yan Zhulanow 01c76153c7 Kapt3: Allow function overloads based on return type (KT-14996). Fix wrong facade class name inside the default package 2016-12-09 20:28:25 +03:00
Yan Zhulanow 6217d21c24 Kapt3: Kapt3 fails on several top-level functions in one package (KT-14991) 2016-12-09 20:28:20 +03:00
Yan Zhulanow 34316d09bf Kapt3: Close annotation processing ClassLoader (KT-9440) 2016-12-09 20:28:11 +03:00
Yan Zhulanow d246bd8cff Kapt3: Fix literal expressions for byte and short 2016-12-05 19:57:59 +03:00
Yan Zhulanow de0e4ac340 Kapt3: Add tests for primitive values and NonExistentClass 2016-12-05 19:57:57 +03:00
Yan Zhulanow 582f85f303 Kapt3: Generate stub for error.NonExistentClass to make javac happy 2016-12-05 19:57:56 +03:00
Yan Zhulanow 325245f996 Minor: Rebase to 1.0.6, re-generate tests 2016-12-05 19:57:55 +03:00
Yan Zhulanow c2013c4d03 Kapt3: Add 'useLightAnalysis' option to compiler and Gradle plugins 2016-12-05 19:57:53 +03:00
Yan Zhulanow 75a8088f65 Kapt3: Minor: Changes on review 2016-12-05 19:57:51 +03:00
Yan Zhulanow 95d1210317 Kapt3: Extract annotation processing to its own task in Gradle. Now the kotlinCompile task should know nothing about kapt, for the main task it's just a regular Java source root. 2016-12-05 19:57:49 +03:00
Yan Zhulanow 0914a65234 Kapt3: Support processor arguments. Add integration tests. 2016-12-05 19:57:45 +03:00
Yan Zhulanow b54df7a945 Kapt3: Do not resolve declaration bodies if possible in kapt 2016-12-05 19:57:44 +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 90cbf172d2 Kapt3: Use annotation simple name if the annotation declaration is inside the same package as the current source file's package 2016-12-05 19:57:42 +03:00
Yan Zhulanow 1f1491f1ca Kapt3: Fix a number of errors in ClassFileToSourceStubConverter:
1. Support strictfp modifier for methods.
2. Support Kotlin top-level methods and properties.
3. Fix visibility modifiers on enum methods.
2016-12-05 19:57:41 +03:00
Yan Zhulanow e22ce14c36 Kapt3: Review fixes 2016-12-05 19:57:40 +03:00
Yan Zhulanow 86aa82da6c Kapt3: Minor: Refactor kapt3 module (move/rename) 2016-12-05 19:57:38 +03:00
Yan Zhulanow e61a7c7f2c Kapt3: Minor: Annotation processor classes may be initialized only once, so SIMPLE_PROCESSOR became a factory method 2016-12-05 19:57:37 +03:00
Yan Zhulanow 03244123c9 Kapt3: Minor: Measure stub generation time 2016-12-05 19:57:36 +03:00
Yan Zhulanow 6b1fc6fc39 Kapt3: Output stubs to .java files in verbose mode 2016-12-05 19:57:35 +03:00
Yan Zhulanow aa15e0ad67 Kapt3: Run Javac annotation processing in the kapt3 plugin.
There are two modes:
1. Run only annotation processing (like kapt1 with stubs + javac). Seems that it may be faster to process annotations once before Kotlin compilation than launching AP on each IC round.
2. Run AP, repeat analysis and compile Kotlin classes (like kapt2). This mode doesn't support IC for now.
2016-12-05 19:57:35 +03:00
Yan Zhulanow 64046f1e40 Kapt3: Add simple AP test with Kotlin 2016-12-05 19:57:33 +03:00
Yan Zhulanow 5b780ec56c Kapt3: Parse generic signatures of methods and fields 2016-12-05 19:57:32 +03:00