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