Commit Graph

60 Commits

Author SHA1 Message Date
Yan Zhulanow 84e59601c1 Kapt: Generic arguments in anonymous type should always be mapped to boxed types (KT-19750) 2017-09-06 17:40:17 +03:00
Yan Zhulanow 4d9a612a64 Kapt: Substitute type parameters from the actual type, not from the anonymous one (KT-19700) 2017-09-06 17:40:16 +03:00
Yan Zhulanow 57d209f599 Kapt: Do not use awkward ('$' -> '/') logic for KAPT3 class builder mode
So (for the most often reproduction case) #KT-19433 Fixed

Before this commit, internal names for nested classes were written as test/Foo/Bar (comparing to test/Foo$Bar in the normal mode), as getting qualified names from such internal names was trivial. But, because of IC, we needed to write class files to the disk, so our decompiler could find such "broken" classes and read it in a wrong way.
2017-08-15 17:48:51 +03:00
Yan Zhulanow 4dddb00aca Kapt: Fix "Anonymous class types are not rendered properly in stubs" (KT-18682) 2017-08-02 03:21:14 +03:00
Yan Zhulanow a983137978 Kapt: Handle parameter with Java names clashing with Java keywords properly (KT-18377) 2017-07-12 00:17:23 +03:00
Yan Zhulanow e7e0032cc8 Kapt3, minor, tests: Weaken regular expression for Metadata shrinking 2017-06-28 10:25:08 +03:00
Yan Zhulanow 7220183912 Kapt: Write @kotlin.Metadata annotation to Java stubs #KT-17937 2017-05-25 21:28:47 +03:00
Yan Zhulanow 141f12e71b Minor: Commit forgotten kapt test data 2017-05-25 21:28:40 +03:00
Yan Zhulanow 5ec16167bc Kapt: Preserve parameter names for abstract methods 2017-05-23 16:45:29 +03:00
Yan Zhulanow 1a342faf38 Kapt3: Ignore packages with Java keywords inside (KT-17184) 2017-05-23 16:45:19 +03:00
Yan Zhulanow 1c5765628e Kapt3: Fix flaky integration tests on Windows agents 2017-05-23 16:45:14 +03:00
Yan Zhulanow 99a05f5d61 Kapt3: Convert reference to KMutableMap.Entry correctly (KT-17567) 2017-05-04 18:46:43 +03:00
Yan Zhulanow f1e303e18d Minor: Update kapt tests for Kotlin 1.1 2017-03-22 22:03:21 +03:00
Yan Zhulanow bb0a46ac17 Kapt3: Ignore inner classes with clashing names (KT-16458)
Ignore classes (and references to such classes in declaration signatures) if one of the containing classes has the same simple name. This is forbidden in Java, thus should not be present in kapt source stubs.
2017-03-22 22:02:30 +03:00
Yan Zhulanow 131570080d Kapt3: Generate import statements in stubs 2017-02-08 19:01:17 +03:00
Yan Zhulanow 823781ea6c Kapt3: "$annotations" are not always ACC_PRIVATE now (see also KT-15993) 2017-02-08 19:01:14 +03:00
Yan Zhulanow 2553513205 Kapt3: Allow users to disable error type correction (and now it's disabled by default) 2017-02-08 19:01:13 +03:00
Yan Zhulanow 62092f31cc Minor: Update test data because of KT-15697 2017-02-08 19:01:12 +03:00
Yan Zhulanow 08b98f7133 Kapt3: Ignore declarations with illegal Java identifiers (KT-16153) 2017-02-08 19:01:10 +03:00
Yan Zhulanow 1819194a4c Kapt3: Allow annotations with Kotlin-only targets, such as PROPERTY (KT-15697) 2017-02-08 19:01:07 +03:00
Yan Zhulanow cde7cb1076 Kapt3: Write Intellij annotations (NotNull/Nullable) to stubs 2017-02-08 19:01:05 +03:00
Yan Zhulanow 1b337e1a48 Generate enum values with bodies properly (KT-15803) 2017-01-30 20:13:08 +03:00
Yan Zhulanow 3b4a8e0f33 Kapt3: Write qualified name of classes on error type conversion, handle declaration-site variance properly. 2017-01-27 01:20:01 +09:00
Yan Zhulanow 72bbf9697b Kapt3: As javac now reads stubs from Java files, not from AST, we should provide the valid names for all identifiers (at least names should not clash with Java keywords).
Rename identifiers if it clashes with Java keywords. (KT-15838)
2017-01-27 01:20:01 +09:00
Yan Zhulanow e28b4dfbc7 Kapt3: Do not check type for star projection, it causes the infinite recursion. Also limit recursion depth to 10. (KT-15841) 2017-01-27 01:20:00 +09:00
Yan Zhulanow ec291455fa Kapt3: Replace error/NonExistentClass with the actual type (from PSI) (KT-15421) 2017-01-15 22:11:11 +09:00
Yan Zhulanow fdb568f86d Kapt3: Generate incremental compilation metadata (light classes with Kotlin metadata) 2016-12-28 22:28:33 +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 142496c00f Kapt: Parse generic signatures with inner class types correctly 2016-12-28 22:18:04 +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 3f8accc2bf Kapt3: Fix '$' in function generic signatures (KT-15148) 2016-12-09 20:29:23 +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 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 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 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 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 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
Yan Zhulanow efd25de13f Kapt3: Parse generic signatures of classes.
Refactoring (move TreeMaker helper functions to KaptTreeMaker, mapValues() and others to utils.kt).
2016-12-05 19:57:31 +03:00