Mikhail Glukhikh
26ee02ed02
FIR: replace resolve phase in FirFile properly
2019-12-05 18:02:03 +03:00
Mikhail Glukhikh
1539ee30ff
FIR IDE: fix local class containing file search
2019-12-05 18:02:03 +03:00
Mikhail Glukhikh
d35a26a75b
Optimization: introduce FirIdeResolveStateService to cache FirResolveState
2019-12-05 18:02:02 +03:00
Mikhail Glukhikh
b4760bcbd3
Extract AbstractResolveElementCacheTest to use in FIR cache testing
2019-12-05 18:02:02 +03:00
Mikhail Glukhikh
74a7a8c881
FIR resolve (minor): provide source element for resolved qualifier
2019-12-05 18:02:02 +03:00
Mikhail Glukhikh
8808c775a4
Introduce FirResolvedTypeRef.delegatedTypeRef to see children types in IDE
...
This is needed to have access to resolved children types (e.g. type arguments) from IDE
2019-12-05 18:02:02 +03:00
Dmitriy Novozhilov
38c1a50c1d
[FIR] Resolve delegating constructor calls
2019-12-05 17:47:15 +03:00
Dmitriy Novozhilov
de77bd526b
[FIR] Change default visibility for sealed class constructors from private to public
2019-12-05 17:47:15 +03:00
Dmitriy Novozhilov
d840671620
[FIR] Don't create delegating super constructor call to kotlin.Enum for enums
2019-12-05 17:47:14 +03:00
Dmitriy Novozhilov
a0d8e5bde7
[FIR] Don't create delegating constructor call to kotlin.Annotation
2019-12-05 17:47:14 +03:00
Dmitriy Novozhilov
25720e20f4
[FIR] Fix bug in defining of completion mode
2019-12-05 17:46:59 +03:00
Dmitriy Novozhilov
088a949403
[FIR] Add implicit type counter to html dump
2019-12-05 17:46:59 +03:00
Denis Zharkov
e58711cde3
FIR: Select most specific members from supertypes scope
2019-12-05 17:35:33 +03:00
Denis Zharkov
e5166e0e7d
FIR: Extract common parts in FirSuperTypeScope
2019-12-05 17:35:33 +03:00
Denis Zharkov
43aa1f87df
FIR: Optimize supertypes scope structure
2019-12-05 17:35:33 +03:00
Denis Zharkov
91fce215d2
FIR: Simplify super type scopes related code
...
- Get rid of unnecessary subclass
- Use more abstract type where possible
2019-12-05 17:35:33 +03:00
Denis Zharkov
b8984d154b
FIR: Do not copy type parameters from class to constructors
...
Use the same instances from class declaration instead
Otherwise, primary constructor value parameter types when used
in the class body are considered as different from types
based on the class type parameters
See the test genericConstructors.kt, before this commit
"id" call was reported in inapplicable
2019-12-05 13:08:51 +03:00
Abduqodiri Qurbonzoda
20d02dd0ee
Commonize StringBuilder
2019-12-04 22:15:33 +03:00
Abduqodiri Qurbonzoda
1431e27a7b
Move StringBuilder to its own file
2019-12-04 22:15:33 +03:00
Abduqodiri Qurbonzoda
0c033297a8
Move Appendable to its own file
2019-12-04 22:15:33 +03:00
Abduqodiri Qurbonzoda
50752d47fe
Move CharacterCodingException to its own file
2019-12-04 22:15:33 +03:00
Abduqodiri Qurbonzoda
956e085b22
Rename text.kt file to StringBuilderJs.kt
2019-12-04 22:15:33 +03:00
Abduqodiri Qurbonzoda
2155f1680f
Fix small mistake in CharSequence.lastIndexOf documentation
2019-12-04 22:15:33 +03:00
Georgy Bronnikov
4a0f683bea
JVM_IR: repair after switching Ir.Symbols to non-lazy table
...
Symbols referenced from Jvm>Ir.Symbols stayed unbound, hence I have
to run ExternalDeopendenciesGenerator a second time after
creating JvmBackendContext :(
2019-12-04 16:05:53 +03:00
Georgy Bronnikov
08aeed3b46
IR: do not use lazyWrapper for Ir.Symbols
...
The reason for switching from lazyWrapper to SymbolTable itself is that
(at least in JS_IR) some of those lazily created structures could later
be deserialized, which created conflicts.
2019-12-04 16:05:53 +03:00
Vladimir Dolzhenko
b0b04eb4cd
Use kotlin specific setting "Optimize imports on the fly" in quick fix
...
#KT-35266 Fixed
2019-12-04 11:19:19 +01:00
Denis Zharkov
be5b7adb5a
FIR: Support captured types for sub-arguments
2019-12-04 10:52:19 +03:00
Denis Zharkov
5b4e8170ae
Fix variables leaking when adding other system under transaction
2019-12-04 10:52:19 +03:00
Denis Zharkov
692442d7a2
Do not look into captured star projection as types
2019-12-04 10:52:19 +03:00
Denis Zharkov
3634d80cae
FIR: Order type variables for fixation
...
Otherwise there are subtle issues with captured types
(see FirDiagnosticsSmokeTestGenerated$Inference.testDependantOnVariance)
2019-12-04 10:52:19 +03:00
Ivan Gavrilovic
7f77cc55f3
Update the test for cleanup
...
Make sure all sources are removed before adding a new Java source,
and make assertions about stubs and kotlinc generated .class files.
2019-12-03 23:05:22 +01:00
Ivan Gavrilovic
e07b2e30e2
KT-34258: Make sure to clean up stale files even if no Kotlin sources
...
If running incrementally, even if there aren't any Kotlin sources to
compile, there could be stale output files that need to be removed. E.g
stub generation must have generated .java files removed if all Kotlin
sources are removed. Kotlin compile task will be skipped only if there
are no Kotlin sources and task run is non-incremental.
Test: KaptIncrementalIT.testRemoveAllKotlinSources
2019-12-03 23:05:21 +01:00
Sergey Igushkin
a22a60118c
Fix 'Project#afterEvaluate(Action) <...> cannot be executed' on IDE test run
...
Update kotlinx.benchmark to 0.2.0-dev-7 which contains the fix for
https://github.com/Kotlin/kotlinx-benchmark/issues/13
2019-12-03 23:57:29 +03:00
Ilya Gorbunov
edfd933348
Improve Result docs to emphasize that any Throwable exception is caught
...
#KT-33447 Fixed
2019-12-03 21:08:31 +03:00
Alexander Udalov
d84daa0a4b
JVM IR: fix value argument offset in -Xjvm-default=compatibility mode
2019-12-03 18:39:43 +01:00
Pavel Kirpichenkov
3de6289c6c
[NI] Run completion on subatoms of error calls
...
Call transformer previously ran completion of argument atoms
only for non-error candidates. This led to missing diagnostics,
i.e. from collection literal resolver.
Now arguments of calls resolved to error descriptor are completed,
with exception to not found provideDelegate calls.
provideDelegate's subatoms are not completed after failure, because
it is a part of delegate competion, which does not end with
unresolved provideDelegate.
Completing after provideDelegate failure removes constraint system
from resolved arguments, which breaks resolve for get/setValue.
^KT-33592 Fixed
2019-12-03 18:19:32 +03:00
Nikolay Krasko
29fbb8e22f
Update to 193.5233.102 release (KT-35239)
...
- Mute android specific import tests (KT-35225).
- Mute GradleMultiplatformWizardTest (IDEA-225878).
- Minor update of test data.
2019-12-03 17:34:47 +03:00
Nikolay Krasko
fa64b5794b
Allow to mute parameterized GradleImportingTestCase JUnit 4 tests
2019-12-03 17:34:46 +03:00
Roman Artemev
ca0bff75cd
[KLIB] Keep order of constant properties depending on backend
...
- Fix K/N performance regression
2019-12-03 16:20:52 +03:00
Vyacheslav Gerasimov
6ef3831f14
Build: Take parent directory as rootProject directory in case of buildSrc
2019-12-03 16:16:44 +03:00
Vyacheslav Gerasimov
462d6ac5b6
Build: Add remote build cache parameters for teamcity builds
2019-12-03 16:16:44 +03:00
Vyacheslav Gerasimov
d3c1ef9251
Build: Use kotlin-build-gradle-plugin in buildSrc
2019-12-03 16:16:44 +03:00
Vyacheslav Gerasimov
ab8542bbdb
Build: Advance kotlin-build-gradle-plugin version to 0.0.2
2019-12-03 16:16:44 +03:00
Vyacheslav Gerasimov
46d77419a8
Build: Add build cache properties to kotlin-build-gradle-plugin
2019-12-03 16:16:44 +03:00
Vyacheslav Gerasimov
ad79efeba3
Build: Use kotlin version embedded to gradle
2019-12-03 16:16:44 +03:00
Denis Zharkov
fa7bd3dd2e
FIR: Support SAM constructors for type aliases
2019-12-03 15:49:22 +03:00
Denis Zharkov
ae01d050c9
FIR: Abstract parts for type alias constructors resolution
...
It's necessary to support combination of type aliases + SAM
2019-12-03 15:49:22 +03:00
Denis Zharkov
fbe7db5471
FIR: Move constructor processing parts to a separate file
2019-12-03 15:49:22 +03:00
Denis Zharkov
bf68e85a5c
FIR: Support SAM conversion for interfaces containing Object methods
2019-12-03 15:49:22 +03:00
pyos
7cd55c85e6
JVM/JVM_IR: fix mapping of KClass in annotation classes
...
* JVM incorrectly mapped T<KClass<...>> to T<Class<...>> because the
annotation-ness of the type mapping mode was inherited one level
down into a generic signature independent of T
* JVM_IR was even worse as it did not use VALUE_FOR_ANNOTATION at all,
mapping T<T<KClass<...>> to T<T<Class<...>> as well.
The correct behavior is to map KClass to Class only at top level or as
an argument of Array.
2019-12-03 11:42:23 +01:00