Mikhail Glukhikh
718a679b72
FIR IDE API: add preliminary control of file in-block modifications
...
In this commit, we build FirFile from the beginning if in-block modifications are detected.
However, better way would be to rebuild only part of FirFile in this case
2019-12-10 12:58:39 +03:00
Mikhail Glukhikh
83ccd7dd1c
FIR: implement separate diagnostic collector/reporter for IDE
2019-12-10 12:58:38 +03:00
Mikhail Glukhikh
fbf1dbf2da
FIR: introduce error message renderer
2019-12-10 12:58:38 +03:00
Mikhail Glukhikh
e07b85ff34
FIR Java providers: insert some protection against ProcessCanceledException
2019-12-10 12:57:57 +03:00
Mikhail Glukhikh
cd089658bd
IdeFirProvider: insert protection against ProcessCanceledException
2019-12-10 12:57:56 +03:00
Mikhail Glukhikh
fc117466a8
AbstractFirPsiCheckerTest: do partial error diagnostic comparison for some cases
2019-12-10 12:57:15 +03:00
Mikhail Glukhikh
4b251eb986
FIR IDE: lock FIR files before calling runResolve on them
...
This also fixes various synchronization problems
2019-12-10 12:57:13 +03:00
Mikhail Glukhikh
63121df6ba
Synchronized IdeFirProvider.getOrBuild file, don't share RawFirBuilder
...
Before this commit RawFirBuilder was reused,
that provoked a lot of synchronization problems
2019-12-10 12:57:13 +03:00
Mikhail Glukhikh
ccb343e26b
FIR: preliminary implementation of diagnostics highlighter (~30% supported)
2019-12-10 12:57:13 +03:00
Mikhail Glukhikh
34202faaa5
Code cleanup: KotlinPsiChecker
2019-12-10 12:57:12 +03:00
Mikhail Glukhikh
1d6d88b50c
FIR reference resolve test: observe mute tests which are actually passing
2019-12-10 12:57:12 +03:00
Mikhail Glukhikh
f8c86d2f9f
FIR reference resolve test: mute 37/107 cases which aren't yet supported
2019-12-10 12:57:11 +03:00
Mikhail Glukhikh
900227fdfa
KtReferenceResolver: implement resolveToPsiElements() via FE IR (~60% supported)
2019-12-10 12:57:11 +03:00
Mikhail Glukhikh
809b7d8381
FirResolution: store enabled value in field with initial reading from component
...
Before this commit, we read/wrote 'enabled' directly from PropertiesComponent.
Now we do only initial reading and then store modified value in field.
This should make 'enabled' reading faster.
2019-12-10 12:57:11 +03:00
Mikhail Glukhikh
0d2d76696c
Add FirResolution.enabled wrapper
2019-12-10 12:57:10 +03:00
Dmitriy Novozhilov
00112d4227
[FIR] Copy receiver of delegateProvider in fir building
...
There was a problem that receiver of `delegateProvider` and `expression` field
of `FirWrappedDelegateExpression` was the same object, so after some changes in
FirCallCompletionResultsWriterTransformer (where call was partially completed and then
copied) there was a problem with resolve of `delegateProvider`, because reference of it's
receiver had resolved reference, but type arguments were unsubstituted (see
`testCommonCaseForInference`).
Maybe there is a better solution. E.g. we can transform type arguments in completion, so we don't need coping of function call at all
2019-12-10 12:25:42 +03:00
Dmitriy Novozhilov
51560f2f17
[FIR] Fix order of resolving children of FirProperty
2019-12-10 12:25:42 +03:00
Dmitriy Novozhilov
e281d224a3
[FIR] Fix testdata broken in b76c984b
2019-12-10 12:25:42 +03:00
Dmitriy Novozhilov
a89e9966e6
[FIR] Fix call completion of complex constant expressions with integer contants
2019-12-10 12:25:42 +03:00
Ilya Goncharov
f8b1e95830
[Gradle, JS] Inline single used method for prefix matching
2019-12-10 11:41:03 +03:00
Ilya Goncharov
8c6941dc5b
[Gradle, JS] Java and JS difference in fqn should affect exclude patterns too
2019-12-10 11:37:13 +03:00
Ilya Goncharov
770e5147d0
[Gradle, JS] Java and JS difference in fqn should affect exclude patterns too
2019-12-10 11:37:13 +03:00
Ilya Goncharov
da16d48068
[Gradle, JS] Remove debug console
2019-12-10 11:26:48 +03:00
Ilya Goncharov
096a6c9551
[Gradle, JS] Fix failing Karma tests for empty tests
...
#KT-35318 fixed
2019-12-10 11:25:35 +03:00
Natalia Selezneva
36d87c9905
Mute GradleMultiplatformWizardTest
...
^KT-35368
2019-12-10 09:16:27 +03:00
Natalia Selezneva
b66fdad80c
Set since build to IDEA 192.7142.36 for 192 bunch
...
Fix compilation in idea-gradle module
Android Studio 3.6 doesn't still contain some of those changes
2019-12-10 09:16:27 +03:00
Abduqodiri Qurbonzoda
19e001afad
Commonize Float.rangeTo(Float) #KT-35299
2019-12-09 20:24:06 +03:00
Dmitriy Novozhilov
b76c984b26
[FIR] Support IntegerLiteralTypes
2019-12-09 17:24:26 +03:00
Dmitriy Novozhilov
5577f0f8cb
[TMP] Make context in inference components universal
2019-12-09 15:28:24 +03:00
Dmitriy Novozhilov
4f3ff84d30
[FIR] [TMP] Complete lambdas that are not part of some call
2019-12-09 15:02:41 +03:00
Dmitriy Novozhilov
e560a67a89
[FIR] Resolve this reference in delegating constructors
2019-12-09 15:01:54 +03:00
Dmitriy Novozhilov
583e07b3e4
[FIR] Don't analyze properties twice
2019-12-09 13:31:39 +03:00
Ilya Chernikov
99b0435de5
Add possibility for JDKs substitution in the build script...
...
configure substitutions for 1.6 and 1.7 for non-TeanCity builds
2019-12-06 15:51:52 +01:00
Dmitry Petrov
f6b99955f8
Update testData in bytecodeText (argument nullability assertions)
2019-12-06 11:03:07 +03:00
Dmitry Petrov
d28743157a
Mute testPlatformValueContains in JVM_IR
2019-12-06 11:03:07 +03:00
Dmitry Petrov
c83f68151c
Support @EnhancedNullability in psi2ir
2019-12-06 11:03:07 +03:00
Dmitry Petrov
429bf78afa
Add 'Collection#contains' as a special case to psi2ir tests
2019-12-06 11:03:07 +03:00
Dmitry Petrov
26782d7216
Fix exception message checking
...
Looks like there's no big difference between "J.s() must not be null"
and "s() must not be null".
2019-12-06 11:03:07 +03:00
Dmitry Petrov
a819104d81
JVM_IR: generate nullability assertions for private operators
...
If a fun is private, we still generate nullability assertions
in case when it is an operator.
This is for bug-to-bug compatibility with 1.3.
2019-12-06 11:03:07 +03:00
Dmitry Petrov
331347f9fe
Mute tests for explicit 'equals' on boxed primitives
2019-12-06 11:03:06 +03:00
Dmitry Petrov
89e1941dfd
Update testData for argument nullability assertion tests
2019-12-06 11:03:06 +03:00
Dmitry Petrov
fc7783c7dd
JVM_IR: JvmArgumentNullabilityAssertionsLowering
2019-12-06 11:03:06 +03:00
Dmitry Petrov
c676b58c14
Minor: JvmBuiltinOptimizationLowering.kt: reformat & fix warnings
2019-12-06 11:03:06 +03:00
Dmitry Petrov
20fb519f1a
PSI2IR: Generate IMPLICIT_NOTNULL casts for platform type values
2019-12-06 11:03:06 +03:00
Abduqodiri Qurbonzoda
dabf6376db
Update js reachable nodes count after expanding StringBuilder api
2019-12-06 05:37:09 +03:00
Nicolay Mitropolsky
df3bee3038
Annotations: support injections in string arrays (KT-35222)
2019-12-05 19:31:57 +03:00
Mikhail Glukhikh
f82fe20d43
[FIR] fix test data according to last commits
2019-12-05 18:27:47 +03:00
Mikhail Glukhikh
53935db992
[FIR] fix compilation error (arose due to commit conflict)
2019-12-05 18:25:17 +03:00
Dmitriy Novozhilov
6f222edb88
[FIR] Add unresolved type counter to html dump
2019-12-05 18:17:13 +03:00
Mikhail Glukhikh
bef344b33e
Optimization / clarifying: getFirClassifierContainerFile
2019-12-05 18:02:04 +03:00