Valentin Kipyatkov
5734f2ba9b
KT-9950 IntelliJ IDEA does not suggest importing extension methods which have the same name as an instance method
...
#KT-9950 Fixed
2016-10-10 14:48:15 +03:00
Valentin Kipyatkov
49ac6b99f6
Removed redundant
2016-10-10 14:48:15 +03:00
Valentin Kipyatkov
c06e2d994e
KT-13884 Exception "Invalid root block PSI element" on replacing trivial when-expression to if
...
#KT-13884 Fixed
2016-10-10 14:48:15 +03:00
Valentin Kipyatkov
597cd04831
KT-13719 'var' can be made 'val' highlighting range with annotation before
...
#KT-13719 Fixed
2016-10-10 14:48:14 +03:00
Mikhail Glukhikh
8d48b0d2a0
UNUSED_VARIABLE is now reported only for last entry of destructuring declaration (if applicable) #KT-14221 Fixed
2016-10-10 14:42:09 +03:00
Mikhail Glukhikh
126304c197
Destructure intention applied (compiler)
2016-10-10 14:42:04 +03:00
Michael Bogdanov
d911de20f9
Print bytecode on signature test fail
2016-10-10 14:17:51 +03:00
Michael Bogdanov
f8e9922c9e
Don't generate generic signature for get/set methods in property reference class
2016-10-10 14:17:50 +03:00
Michael Bogdanov
5bd045c79c
Fix for KT-14243: Wrong invocation descriptor on calling implicitly generated implementation in class
...
#KT-14243 Fixed
2016-10-10 14:17:50 +03:00
Dmitry Jemerov
ce0d81f670
to avoid running resolve under ClsTypeElement lock, return empty modifier list if we're currently calculating the return type (the modifier list is requested to apply type annotations, and we don't care about them anyway)
...
#KT-12966 Fixed
2016-10-10 12:48:51 +02:00
Dmitry Jemerov
e55c82d3f3
don't try to resolve declaration to descriptor if we don't have any annotations
2016-10-10 12:46:35 +02:00
Ilya Chernikov
b7a52dc685
Add more standard templates
2016-10-10 11:24:54 +02:00
Ilya Chernikov
5e5ebaa68b
Create a script runtime jar with a copy of standard script template (renamed)
2016-10-10 11:24:53 +02:00
Alexey Andreev
61b429f2f0
JS: fix exception during translation of for expression with iterator having generic type constrained by Iterable. Fix #KT-8385
2016-10-10 11:22:21 +03:00
Alexey Andreev
977fd8f591
KT-12707: support case when secondary super constructor has optional parameters
2016-10-10 11:21:45 +03:00
Alexey Andreev
c1b8e50734
KT-12707: (JS) proper translation of a constructor in subclass that calls secondary constructor of parent class. Fix #KT-12707
2016-10-10 11:21:45 +03:00
Denis Zharkov
b1dc31a64e
Minor. Invert if
2016-10-10 10:44:11 +03:00
Denis Zharkov
0905bf3e38
Refine redundant null checks interpreter
...
The main change here is addition of a check that NotNullBasicValue instances
are not being created for non-reference types
Exactly this change should be used instead of f25f0db10e
The latter commit lead to problem described in the KT-14242 issue:
v.getType().getSort() == w.getType().getSort() && (v.getType().getSort() != Type.OBJECT || v.equals(w))
Problem is that the condition above returns true without calling `v.equals(w)`,
because the sort of type is ARRAY, not OBJECT, so testArray was being treated
as NotNullable erroneously
So the second part of this change is effectively revering mentioned commit
#KT-14242 Fixed
2016-10-10 10:44:11 +03:00
Denis Zharkov
2eece06d5c
Minor. Add hashCode override after existing equals
2016-10-10 10:44:11 +03:00
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