Commit Graph

34221 Commits

Author SHA1 Message Date
Alexey Andreev 322f6fe7ac KT-2752: fix translation of call to internal function from subclass 2016-10-08 19:25:53 +03:00
Alexey Andreev c814a9d1d2 KT-2752: fix support of typealiases 2016-10-08 19:25:52 +03:00
Alexey Andreev 831ac97ecd KT-2752: fix some tests and make them slightly less fragile 2016-10-08 19:25:51 +03:00
Alexey Andreev 9c7c82b151 KT-2752: refactor NameSuggestion, change rules for determining name stability and applying mangling 2016-10-08 19:25:50 +03:00
Alexey Andreev 6f7e7d8504 KT-2752: fixes after code review 2016-10-08 19:25:49 +03:00
Alexey Andreev 00867cb269 KT-2752: remove unnecessary hack that tries to treat annotation on property accessor as annotation on property itself; looks like FE has fixed that 2016-10-08 19:25:48 +03:00
Alexey Andreev e7e6a917eb KT-2752: when simple name of class is a JS keyword or a well-known global name, add '$' to name of constructor function 2016-10-08 19:25:47 +03:00
Alexey Andreev a4bf058be6 KT-2752: add hash-based suffix to private members of open/abstract public classes 2016-10-08 19:25:46 +03:00
Alexey Andreev ba9c908875 KT-2752: export JsName on class via JS reflection 2016-10-08 19:25:45 +03:00
Alexey Andreev aa5d15cff7 KT-2752: minor fixes after code review 2016-10-08 19:25:43 +03:00
Alexey Andreev 7956b038fd KT-2752: add test to prove that KT-13024 is no longer reproducible with new implementation of name mangling 2016-10-08 19:25:43 +03:00
Alexey Andreev 4e2b1d68cf KT-2752: deprecate parameter of @native annotation, prohibit simultaneous usage of parameterized @native and @JsName 2016-10-08 19:25:42 +03:00
Alexey Andreev 49022fd5bc KT-2752: move some diagnostics from entire declarations to their headers 2016-10-08 19:25:41 +03:00
Alexey Andreev fb7f221158 KT-2752: add test to ensure that JsName affects classes 2016-10-08 19:25:40 +03:00
Alexey Andreev b888d9e7d9 KT-2752: refactor NameSuggestion 2016-10-08 19:25:40 +03:00
Alexey Andreev 72ada61342 KT-2752: rename FQNPart to SuggestedName and FQNGenerator to NameSuggestion 2016-10-08 19:25:39 +03:00
Alexey Andreev 0c61f431ff KT-2752: add some docs to FQNGenerator 2016-10-08 19:25:38 +03:00
Alexey Andreev c14795f66d KT-2752: refactor support of modules and root packages 2016-10-08 19:25:38 +03:00
Alexey Andreev c657716ae0 KT-2752: minor fixes 2016-10-08 19:25:37 +03:00
Alexey Andreev 681a428473 KT-2752: prohibit JSName on extension properties 2016-10-08 19:25:36 +03:00
Alexey Andreev 33daf83f14 KT-2752: refactoring:
1. Get rid of most of ManglingUtils
2. Use simple mangling for delegated properties instead of stable mangling
3. Use stable mangling for public declarations of open non-public classes
4. When generating a fresh name in a JsScope, check it for clashing against parent scopes
5. JsFunctionScope does not generate fresh name instead of stable names
6. Function scopes inherit directly from global scope
7. Generate simple mangled names for backing fields of properties
2016-10-08 19:25:36 +03:00
Alexey Andreev 1dcb037aee KT-2752: remove diagnostic that reports about overridden method having several names from different sources. Generate proxies instead. Fix reporting name clash when two distinct fake overrides require same name. 2016-10-08 19:25:35 +03:00
Alexey Andreev c5087779e4 KT-2752: add diagnostics that reports about conflicting overridden declarations 2016-10-08 19:25:34 +03:00
Alexey Andreev 16c172f053 KT-2752: add diagnostic that reports about applying JsName on overridden declarations 2016-10-08 19:25:33 +03:00
Alexey Andreev 725d13b72e KT-2752: fix JsName with explicit use target. Add some tests for JsName with use targets 2016-10-08 19:25:33 +03:00
Alexey Andreev be0013d9f2 KT-2752: declare properties as a pair of functions when accessors are marked with @JsName 2016-10-08 19:25:32 +03:00
Alexey Andreev 6e1a0901ac KT-2752: add checkers for inconsistent usage of JsName 2016-10-08 19:25:31 +03:00
Alexey Andreev 638952e96e KT-2752: JsName renames native declarations 2016-10-08 19:25:31 +03:00
Alexey Andreev 7a7a6914a6 KT-2752: fix old tests, add test for clashing between class and its companion object 2016-10-08 19:25:30 +03:00
Alexey Andreev 50dd1e31c3 KT-2752: move tests, that check whether there's no name clash, to JS backend tests 2016-10-08 19:25:29 +03:00
Alexey Andreev 5ce158f297 KT-2752: add basic tests for JsName 2016-10-08 19:25:28 +03:00
Alexey Andreev 5e3aa33b13 KT-2752: add draft implementation of JsName annotation. Fix some tests using the annotation 2016-10-08 19:25:27 +03:00
Alexey Andreev 8738458c34 KT-2752: fix name clash diagnostic for case of extension property. Add more tests for the diagnostic 2016-10-08 19:25:27 +03:00
Alexey Andreev 8f829557c8 KT-2752: add diagnostic that checks whether Kotlin declarations produce conflicting names in generated JS 2016-10-08 19:25:26 +03:00
Alexey Andreev f70b50b6e2 KT-2752: refactor generation of FQN in JS. Move backend-independent code to generic code in frontend. 2016-10-08 19:25:25 +03:00
Alexey Andreev ed55923bb0 KT-2752: a new approach to compose fully-qualified names that does not depend on code generation and can be reused in JS front-end 2016-10-08 19:25:25 +03:00
Alexey Sedunov d3c14ce7d6 Extract Function: Support implicit abnormal exits via Nothing-typed expressions 2016-10-07 20:20:39 +03:00
Alexey Sedunov 8e9f32db9e Search Everywhere: Render function parameter types. Render extension type in prefix position
#KT-13976 Fixed
 #KT-13977 Fixed
2016-10-07 20:20:38 +03:00
Alexey Sedunov a6601b27e9 Move: Show error message on applying to enum entries
#KT-14182 Fixed
2016-10-07 20:20:37 +03:00
Alexey Sedunov fad4944eee Rename: Use qualified class name when looking for occurrences in non-code files
#KT-14128 Fixed
 #KT-13862 Fixed
 #KT-6199 Fixed
2016-10-07 20:20:36 +03:00
Alexey Sedunov da1178fe0c Create from Usages: Do not suggest on type-mismatched expressions which are not call arguments
#KT-14143 Fixed
2016-10-07 20:20:35 +03:00
Alexey Sedunov e4dc2ae367 Rename: Implement popup chooser for overriding members
#KT-13963 Fixed
2016-10-07 20:20:34 +03:00
Alexey Sedunov fe711da594 Rename: Rename do-while loop variables in the loop condition
#KT-14157 Fixed
2016-10-07 20:20:33 +03:00
Alexey Sedunov 140d0b61f1 Move: Fix exception on moving Kotlin file without declarations
#KT-14114 Fixed
2016-10-07 20:20:32 +03:00
Alexander Udalov 9004367f3c Minor refactoring in DeprecatedCallChecker 2016-10-07 20:14:54 +03:00
Alexander Udalov 8949ffbef1 Do not report deprecation on members of deprecated companion
This deprecation is reported on the companion itself anyway
2016-10-07 20:14:53 +03:00
Alexander Udalov b08ed14f66 Rename PlatformTypesMappedToKotlinChecker -> PlatformClassesMappedToKotlinChecker
To prevent confusion with the term "platform type" which has gained a new
meaning since this class was introduced
2016-10-07 20:14:05 +03:00
Alexander Udalov 6ec868d84e Pass LanguageVersionSettings to ClassifierUsageChecker
To be used in future classifier usage checkers
2016-10-07 20:13:24 +03:00
Alexander Udalov 9fd698db36 Fix NPE in StorageManager on sanitizing stack trace
This could happen when running the compiler from the command line, where
MemoryBasedClassLoader is used which does not ever create Package instances.
2016-10-07 20:13:23 +03:00
Sergey Mashkov 17137f1c4f KT-13478 Error creating Maven project by archetype: The desired archetype does not exist
don't filter versions in internal mode or if all were filtered out
2016-10-07 17:56:05 +03:00