Commit Graph

58014 Commits

Author SHA1 Message Date
Igor Yakovlev d252e795be Remove unnecessary fallback LigthClasses from UL 2019-10-02 20:18:24 +03:00
Igor Yakovlev d5e4227a1d Revert commit and additional workaround to diagnostics problem
Another workaround of testClassObjectCopiedFieldObject test fix

Revert "Fix testClassObjectCopiedFieldObject test"

This reverts commit 8def1f07aa.
2019-10-02 20:18:24 +03:00
Igor Yakovlev 32a8fe1ca9 Fix IdeRegression.testImplementingMutableSet test data 2019-10-02 20:18:24 +03:00
Dmitry Petrov 107ab06042 Minor: make diagnostic tests usable with IDEA & JPS 2019-10-02 17:14:48 +04:00
Dmitry Petrov a633a33627 KT-14513 Don't generate delegated property metadata when unused
If the delegated property operators involved are inline, and delegated
property metadata parameter is not used (which is often the case, e.g.,
'lazy'), we can skip those properties in metadata generation.

NOT implemented: special case when only 'kProperty.name' is used by the
corresponding delegated property operators.

Also a sneak fix for KT-34060.
2019-10-02 17:14:48 +04:00
Dmitry Petrov 92ba298e68 KT-14513 DELEGATED_PROPERTIES -> DELEGATED_PROPERTIES_WITH_METADATA 2019-10-02 17:14:48 +04:00
Dmitry Savvinov 3989f351ff Use modules instead of files for MPP diagnostic
Using files turned to be a bad idea, because people often
use the same name for files with expects and with corresponding actuals.

This commits disambiguiates ambiguous message for
AMBIGUOUS_ACTUALS/AMBGIUOUS_EXPECTS diagnostics by using modules instead
of files

^KT-32582 Fixed
2019-10-02 16:52:40 +03:00
Dmitry Savvinov 45737e51fb Minor: let 'Renderer'-helper return more specific type
This allows to easily re-use other renderers from 'Renderer'-block
(previously, one had to declare 'ContextDependentRenderer' just to get
hold of 'RenderingContext' just to call 'render(O, RenderingContext)'
from DiagnosticParameterRenderer, which would be unused anyways)

This commit introduces more specific subtype,
'ContextIndependentParameterRenderer', which exposes 'render(O)' method
for easy re-use.

Several (ab)uses of 'ContextDependentRenderer' have been removed
2019-10-02 16:52:39 +03:00
Dmitry Savvinov 8bfd30fc69 Minor: reformat IdeRenderers.kt 2019-10-02 16:52:39 +03:00
Dmitry Savvinov 249e5da53b Add internal action to toggle analysis mode
^KT-32562 Fixed
2019-10-02 16:52:39 +03:00
Dmitry Savvinov f7eb294b80 Configure facets depending on MPP version in tests setup 2019-10-02 16:52:39 +03:00
Dmitry Savvinov 182f5fafad Take dependsOn-graph from corresponding property for MPP.M3 2019-10-02 16:52:39 +03:00
Dmitry Savvinov 958a7d9315 Refactor MPP versioning
- Use 'null' as indicator of non-MPP version. Consequently, remove
useless 'isMpp' method, and lift all methods to extensions (to be able
to call them on nullable 'facetSettings.mppVersion')

- Change semantics of extensions to check for exact equality rather than
for "at least specified version"

- Deprecate old MPP-versioning in favour of 'facetSettings.mppVersion'
2019-10-02 16:52:39 +03:00
Dmitry Savvinov dbd352e2ba Minor: simplify condition in KotlinFacetSettings 2019-10-02 16:52:39 +03:00
Georgy Bronnikov e38ff8753e JVM_IR: support type parameters in @JvmOverload functions 2019-10-02 16:19:06 +03:00
Nikolay Krasko 7467c80970 Fix bunch rule 2019-10-02 15:58:44 +03:00
Nikolay Krasko 343502125b Rename ResolveInWriteActionManager -> ResolveInDispatchThreadManager 2019-10-02 15:58:44 +03:00
pyos ea56a5e8b1 Unmute some JVM_IR inlining tests 2019-10-02 14:48:05 +02:00
pyos 6163a8cf56 IR: keep source container when making functions static 2019-10-02 14:48:05 +02:00
pyos 35a0fc40a6 Don't create redundant copies in DefaultArgumentStubGenerator 2019-10-02 14:48:05 +02:00
pyos 8bf5afbba2 JVM_IR: lift pre-super() computations out of anonymous objects 2019-10-02 14:48:05 +02:00
pyos fa54b2cb81 JVM_IR: improve scope detection in accessor generation.
* Sometimes, there's a class after the last function in the scope
   stack: that's the local type's (non-inline) primary constructor.

 * In an inline (but not crossinline) lambda, accessors are needed
   if and only if they would be needed in the function that the
   lambda is defined in.
2019-10-02 14:48:05 +02:00
Toshiaki Kameyama d86e87d35e Add quickfix to change object to class
#KT-33586 Fixed
2019-10-02 19:42:30 +07:00
Toshiaki Kameyama 6a329210cb Convert to anonymous object: fix wrong replacement when SAM is nested interface
#KT-33660 Fixed
2019-10-02 19:09:55 +07:00
Georgy Bronnikov 2e3428bbe7 JVM_IR: incorporate validation into jvmPhases 2019-10-02 14:56:54 +03:00
Mark Punzalan 05527fbc9a Fix all IR element duplication warnings/errors in JVM IR. 2019-10-02 14:56:54 +03:00
Toshiaki Kameyama ac7e955d3e Change parameter type quick fix: don't use qualified name
#KT-32012 Fixed
2019-10-02 18:41:54 +07:00
Roman Golyshev c463fad3b7 KT-34000: Allow autoimport to suggest fixes in qualified expressions
- it is required to be able to autoimport extensions from objects,
not only from the top level
- use `substituteExtensionIfCallable` to handle generics for extension methods
- move finding expression receivers to the separate method, add `Receivers` value class to hold found receivers
- change `CallableDescriptor.isValidByReceiversFor` to return false
if explicit receiver is not required for the descriptor
- ^KT-34000 Fixed
2019-10-02 13:46:47 +03:00
Toshiaki Kameyama b2d2165342 Add "Remove redundant label" quick fix for REDUNDANT_LABEL_WARNING
#KT-26431 Fixed
2019-10-02 16:40:13 +07:00
Denis Zharkov 18df5d9db0 Support mixed positioned/named arguments in AddNameToArgumentIntention
^KT-7745 Fixed
2019-10-02 11:13:15 +03:00
Denis Zharkov e54d2c7c32 Support named arguments in their own position
^KT-7745 In Proggress
2019-10-02 11:13:15 +03:00
Natalia Selezneva bd6481b9e8 Add support for settings.gradle.kts configuring kotlin in project (KT-34114)
^KT-34114 Fixed
2019-10-02 10:30:42 +03:00
Natalia Selezneva fac49df177 Invoke in CompilerSettingsListeners in invokeLater
script templates that are loaded from compiler settings are subscribed on this topic.
When ScriptTemplatesFromCompilerSettingsProvider invokes KotlinCompilerSettings.getInstance, deadlock may happen if those settings aren't initialized yet.

^KT-25373
2019-10-02 10:25:18 +03:00
Steven Schäfer 217f681b6e JVM IR: Use WrappedClassDescriptor in class builder. 2019-10-02 08:29:22 +02:00
Georgy Bronnikov be002fc417 JVM_IR: do not copy bodies when creating static functions 2019-10-01 20:52:57 +03:00
Georgy Bronnikov 4920d71d70 JVM_IR: set dispatchReceiverParameter of imported JvmStatic object methods to null 2019-10-01 20:52:56 +03:00
Mikhail Glukhikh c7904b273f FIR: fix FirArraySetCall.acceptChildren thus fixing visitConsistencyTest 2019-10-01 18:23:06 +03:00
Ilya Goncharov 7e47be9765 Add kotlin js test runner as required dependency for Karma
#KT-34123 fixed
2019-10-01 17:49:09 +03:00
Alexander Gorshenev e53260e27c Bumped klib ABI version 2019-10-01 17:38:57 +03:00
Alexander Gorshenev 147681f335 Fixed native PackageAccessTracker 2019-10-01 17:38:57 +03:00
Dmitriy Dolovov df6dcd646f Fix ClassCastException in KLIB reader 2019-10-01 17:38:57 +03:00
Dmitriy Dolovov 5985c0c02b KLIB API constants clean-up 2019-10-01 17:38:57 +03:00
Dmitriy Dolovov 781c73335d Use cache everywhere where K/N KLIBs are read in IDE 2019-10-01 17:38:57 +03:00
Dmitriy Dolovov 185b10fa06 Rename module capability: "KotlinLibrary" -> "KotlinNativeLibrary" 2019-10-01 17:38:57 +03:00
Dmitriy Dolovov 0196ce7c2f IDE plugin: Add missed dependency 'util-klib-metadata' 2019-10-01 17:38:57 +03:00
Alexander Gorshenev c227c13799 Commonizing klib metadata between native and js 2019-10-01 17:38:57 +03:00
Vyacheslav Gerasimov f38123e78c 193: Update to 193.3793.14-EAP-SNAPSHOT 2019-10-01 17:23:47 +03:00
Georgy Bronnikov 7e9cfbc91a IR: use toLowerCaseAsciiOnly 2019-10-01 16:43:23 +03:00
Igor Yakovlev a68090db5a Fix 191 branch build 2019-10-01 16:27:16 +03:00
Mark Punzalan a01c53fb74 Use getPropertyGetter() in ForLoopsLowering to retrieve property
getters instead of directly retrieving the property first.

When the IR backend is used to compile the standard library, the
progression classes (in sources) are lowered, and therefore do not have
properties anymore (only fields and functions).
2019-10-01 13:34:59 +02:00