66 Commits

Author SHA1 Message Date
Ivan Kochurkin
c3b8f3e859 [FIR] Add lValueTypeRef to FirVariableAssignment, fix tests with ASSIGNMENT_TYPE_MISMATCH 2021-05-17 22:33:18 +03:00
Mikhail Glukhikh
0f9f63400e FirSupertypesChecker: implement six more diagnostics 2021-05-13 16:13:43 +03:00
vldf
24f1f1221e Introduce FirInitializerTypeMismatchChecker 2021-04-13 21:36:31 +03:00
Mikhail Glukhikh
4bd44fa61b FE 1.0: introduce PrivateInFile effective visibility #KT-20094 Fixed 2021-04-08 09:41:25 +03:00
Ilya Chernikov
7e08820009 FIR: Mute IC tests with missing FIR diagnostics 2021-03-24 21:24:20 +01:00
Ilya Chernikov
ef2bb48706 FIR: fix fir-specific incremental compilation testdata 2021-03-24 21:24:19 +01:00
Dmitry Petrov
e9231b5624 JVM: Generate object and companion object INSTANCE fields as @NotNull 2020-06-22 16:28:00 +03:00
Roman Artemev
cc818025df [KLIB IC] Add test about incremental kotlin-js-stdlib-klib recompliation 2020-06-22 11:30:40 +03:00
Pavel Kirpichenkov
32e1ec8e98 [minor] Update build output in test to fit NI 2020-02-18 11:19:19 +03:00
Alexey Tsvetkov
b979be701e Remove some unneeded gradle specific IC logs
They stoped being different from JPS logs for some time
2020-01-21 16:36:36 +03:00
Alexey Tsvetkov
ef83431618 Recompile all dirty files in case of error 2020-01-21 16:36:36 +03:00
Alexey Tsvetkov
2d598d50d7 Expand compilation scope for IC before backend is run
Sometimes IC raises compilation errors when rebuild succeeds.
This happens because IC uses serialized decriptors
for non-dirty files. Serialized descriptors can be different
from source file descriptors. For example, a source file
may contain an implicit return type or an implicit visibility
for overridden methods, but serialized descriptors always
contain explicit return types & methods' visibilities.

These problems can be solved by expanding a scope of incremental compilation
just after the analysis, but before error reporting & code generation.
In other words, we need to compare descriptors before error reporting and code generation.
If there are new dirty files, current round of IC must be aborted,
next round must be performed with new dirty files.

This commit implements IC scope expansion for JS Klib compiler

    #KT-13677
    #KT-28233
2020-01-21 16:36:36 +03:00
Roman Artemev
3e3cb8734b [IC] Unmute IC klib tests 2019-11-08 14:14:59 +03:00
Nikolay Krasko
ebf5e4b590 Mute IncrementalJsKlibCompilerRunnerTestGenerated tests (KT-34538)
#KT-34538 Fixed
2019-10-23 12:49:49 +03:00
Ilya Gorbunov
afb62ffc0c Update testData for incremental compilation tests
- enumMemberChanged, flagsAndMemberInSameClassChanged: added top level function results in a file class being generated
- companionObjectNameChanged: one more file is marked as dirty after the changes in build 1.2.70-dev-1439
2018-09-11 04:19:49 +03:00
Ilya Gorbunov
903976d9af Replace hashCode usages in tests where it was supposed to fail on nullable receiver
Related to #KT-25039
2018-09-10 06:41:49 +03:00
Alexey Tsvetkov
5760b8cf8b Register kotlin_module as output of all files
Previously kotlin_module was registered as output
only for files containing top-level declarations
2018-07-09 15:48:11 +03:00
Alexey Tsvetkov
3eb968807e Invalidate usages of removed classes before round
#KT-23165 fixed
2018-04-03 21:11:12 +03:00
Alexey Tsvetkov
0fee7883ed Recompile only files from last iteration after compile error 2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
a31f503fa5 Recompile all subclasses of removed classes 2017-12-22 16:12:19 +03:00
Alexey Tsvetkov
0a5fe3ef7c Move JVM specific IC tests with class hierarchy changes 2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
e16c5ddb97 Avoid using JVM only APIs in IC tests to reuse with JS 2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
23bc907d3f Move multi-module IC tests to separate dir
At the moment they are used only with JPS
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
6354d9d54f Treat SEALED_SUBCLASS_FQ_NAME_LIST change as a class signature change
#KT-19580
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
3f471d1ac6 Minor: add dummy.kt to some IC tests
This makes it impossible to pass the tests
by rebuilding everything.
2017-07-31 19:34:58 +03:00
Mikhael Bogdanov
ff676c050f Properly generate inner classes when compiling source for inline
KT-19175: Compiler generates different bytecode when classes are compiled separately or together

 #KT-19175 Fixed
2017-07-26 20:31:14 +02:00
Mikhail Zarechenskiy
ee173077c0 Simplify diagnostic when there are wrong number of type arguments
#KT-12767 Fixed
2017-07-12 14:37:27 +03:00
Dmitry Petrov
7979663e6c Update testData for changed diagnostic messages 2017-05-26 13:58:46 +03:00
Valentin Kipyatkov
1fe6886a33 Fixed error message to quote parameter name 2017-05-20 23:44:20 +03:00
Nikolay Krasko
1d29c81346 ! (TODO) Update build test data in 171 2017-03-20 18:45:40 +01:00
Alexey Tsvetkov
fc1af746c6 Gradle IC: treat companion object change as class signature change 2016-10-28 17:58:10 +03:00
Alexey Tsvetkov
f01a956a8b Gradle IC: fix converting class to package facade 2016-10-28 17:58:10 +03:00
Alexey Tsvetkov
151cf7d073 Gradle IC: support multifile classes 2016-10-28 17:58:10 +03:00
Dmitry Petrov
06101dba52 KT-13961 REDECLARATION not reported on private-in-file 'foo' vs public 'foo' in different file
Private-in-file declarations conflict with public overload-equivalent declarations
in other files in the same package.

Move functions for grouping possible redeclarations to OverloadResolver
(since they are used only there).

Refactor redeclarations / conflicting overloads reporting.
2016-10-03 11:50:29 +03:00
Stanislav Erokhin
bebc75c8ef Set reference target and report custom error instead unresolved reference for cases: interface, generic parameter, object + invoke, class without companion.
#KT-2787 Fixed.
2016-09-01 18:01:55 +03:00
Alexander Udalov
83000c50ff Remove quotes around visibility in invisible member diagnostic 2016-07-22 18:13:41 +03:00
Alexander Udalov
b6b2303aa7 Improve error message for inaccessible invisible_fake members
#KT-8989 Fixed
2016-07-22 18:13:40 +03:00
Michael Bogdanov
3b419e8ba3 Fix for KT-11964: No TABLESWITCH in when on enum bytecode if enum constant is imported
#KT-11964 Fixed
2016-06-29 09:32:45 +03:00
Zalim Bashorov
51c6abdbed IC: take into account added and removed classes when calculate affected names 2016-04-11 19:26:18 +03:00
Zalim Bashorov
441a442f34 Minor: update testdata 2016-04-08 13:45:37 +03:00
Nikolay Krasko
46a1028494 Temporary ad-hock jps-tests enable with testdata modification 2016-04-06 21:46:00 +03:00
Pavel V. Talanov
7de171efda Improve message clarity for WRONG_NUMBER_OF_TYPE_ARGUMENTS diagnostics
#KT-9887 Fixed
2016-03-31 16:06:48 +03:00
Alexander Udalov
8316953259 Fix double quotes in diagnostic messages
For diagnostics without any parameters, the given text is simply rendered as a
String, so no symbols should be escaped.

For diagnostics with parameters, the format in java.text.MessageFormat is used,
so one single quote is erased and two single quotes become one single quote in
the rendered text.
2016-03-30 21:41:43 +03:00
Zalim Bashorov
4b8c9c8b39 Minor: fix testdata 2016-03-24 22:28:40 +03:00
Alexey Tsvetkov
d352905a72 Add incremental tests for parameters with default values 2016-03-10 23:36:40 +03:00
Alexey Tsvetkov
9523a8b88d Add missing enum entry added/removed tests
#KT-6200 fixed
2016-03-04 14:43:52 +03:00
Pavel V. Talanov
a4c005fefd Update existing test data depending on diagnostic parameter rendering 2016-02-26 14:45:11 +03:00
Mikhail Glukhikh
1bbc46729c Effective visibility: concise diagnostic messages #KT-10761 Fixed
Also #KT-9760 Fixed
2016-02-16 15:58:50 +03:00
Zalim Bashorov
e33e31ad16 KotlinBuilder: don't request additional round when it's unnecessary & fix warnings 2016-02-10 21:37:12 +03:00
Zalim Bashorov
cf173d6963 Improve test multifilePackagePartMethodAdded: add file which should not be affected 2016-02-09 23:27:26 +03:00