Commit Graph

66252 Commits

Author SHA1 Message Date
Denis Zharkov 6178cb7206 FIR: Get rid of last usages of FirScope.processOverriddenFunctions 2020-06-11 11:31:32 +03:00
Denis Zharkov 72b09ff323 FIR: Rename FirSuperTypeScope and reuse it for type parameter type
It would allow ConeKotlinType.scope return FirTypeScope
and thus pulling down org.jetbrains.kotlin.fir.scopes.FirScope#processOverriddenFunctions
(See the following commits)
2020-06-11 11:31:31 +03:00
Denis Zharkov 0bd2a74542 FIR: Add FirTypeScope
^KT-35495 Relates
2020-06-11 11:31:29 +03:00
Denis Zharkov 38922a84f1 FIR: Do not create synthetic properties for non-Java accessors
^KT-35495 Fixed
2020-06-11 11:01:43 +03:00
Denis Zharkov 6a1f921a5c FIR: Introduce FirScope.processOverriddenFunctions
^KT-35495 In Progress
2020-06-11 11:01:43 +03:00
Denis Zharkov 8447f512b4 Minor. Drop unused FirSyntheticPropertiesScope.synthetic 2020-06-11 11:01:43 +03:00
Jinseong Jeon ab2a2b3a87 FIR2IR: eager conversion of annotations in Library class and members 2020-06-11 10:57:51 +03:00
Jinseong Jeon fd32e918d5 FIR deserializer: signature-aware annotation loading for property accessors 2020-06-11 10:57:51 +03:00
Jinseong Jeon 2d55b8db07 FIR deserializer: build property accessors if non-default ones exist 2020-06-11 10:57:51 +03:00
Vladimir Dolzhenko 369c08214b Add quick isCheapEnoughToSearch check to AddFunctionParametersFix 2020-06-11 09:45:21 +02:00
Nikita Bobko a63f83ab15 Get rid of usages of internal LibraryImpl class
KT-39327
2020-06-10 22:20:53 +03:00
Alex Plate 801c97f456 Use ModuleOrderEntry instead of ModuleOrderEntryImpl
`isProductionOnTestDependency` function was moved from implementation to
interface. The fix is important for the new IJ project model.
2020-06-10 22:19:41 +03:00
Nikolay Krasko bc20464bad 202: Restrict compatibility for 201 plugin 2020-06-10 18:05:53 +03:00
Vladimir Dolzhenko 76d819f66d Drop typo and fix fir package imports in GenerateTests.kt.192 2020-06-10 17:03:05 +02:00
Mathias Quintero e45e491718 Add options param to external dependencies resolver API 2020-06-10 16:28:41 +02:00
Mathias Quintero 83087291df Add API to get locations of collected script annotations
#KT-38404 fixed

also:
- Add wrapper class for the location combined with the location id
- Add source code location parameters to external dependency resolvers
- Add tests for locations in annotations
- Add tests for order of annotation resolution for dependencies resolvers
2020-06-10 16:28:41 +02:00
Andrey 1539128c3f Delete module kotlin-build-common included twice (#3459)
kotlin-build-common included twice in includes
2020-06-10 16:39:07 +03:00
Mikhail Zarechenskiy 3921a0ed70 Add test for obsolete issue
#KT-17341 Obsolete
 #KT-32958 Obsolete
2020-06-10 16:00:23 +03:00
Konstantin Tskhovrebov d61e40e49b Add tests for setup native run gutters. 2020-06-10 15:58:47 +03:00
Konstantin Tskhovrebov 39e1f03cd1 Fix for 192: enable native run gutters only if gradle plugin exists.
Fixed #KT-39465
2020-06-10 15:58:45 +03:00
Vasily Levchenko 25f0e38c73 [inliner] parent fix after copy
this change fix issue with inlining lambda in inline function which(function) inlined from other library.
E.g.

> cat i-lib.kt
class _special_class(val v:Int)
class _special_class1(val v:Int)

class __helper(val v:Int)

inline fun foo(h: __helper): Int {
    val sum = h.op {
        _special_class(it.v)
    }.v
    return sum
}

inline fun __helper.op(block:(_special_class1) -> _special_class) = block(_special_class1(v))

> cat i-main.kt
fun main() {
    val h = __helper(42)
    println(foo(h))
}

Here how the incorrect parent affects debug information:

(lldb) target create "program.kexe"
Current executable set to '/Users/minamoto/ws/kotlin-native/program.kexe' (x86_64).
(lldb) command source -s 0 'i-test.lldb'
Executing commands in '/Users/minamoto/ws/kotlin-native/i-test.lldb'.
(lldb) b i-lib.kt:8
Breakpoint 1: where = program.kexe`kfun:#main(){} + 435 [inlined] foo + 98 at i-main.kt:3, address = 0x00000001000540e3
(lldb) r
Process 70550 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
    frame #0: 0x00000001000540e3 program.kexe`kfun:#main(){} [inlined] foo at i-lib.kt:9:7
   6       inline fun foo(h: __helper): Int {
   7           val sum = h.op {
   8               _special_class(it.v)
-> 9           }.v
              ^
   10          return sum
   11      }
   12
Target 0: (program.kexe) stopped.

the parent of lambda is i-main.kt instead of i-lib.kt, and offsets calculated against wrong file.
Here is behaviour with fix:

(lldb) target create "program.kexe"
Current executable set to '/Users/minamoto/ws/.git-trees/minamoto/debug-info/subprograms-with-missed-scopes/program.kexe' (x86_64).
(lldb) command source -s 0 '/Users/minamoto/ws/kotlin-native/i-test.lldb'
Executing commands in '/Users/minamoto/ws/kotlin-native/i-test.lldb'.
(lldb) b i-lib.kt:8
Breakpoint 1: where = program.kexe`kfun:#main(){} + 337 [inlined] <anonymous>_2 at i-lib.kt:14, address = 0x0000000100054bb1
(lldb) r
Process 70560 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
    frame #0: 0x0000000100054bb1 program.kexe`kfun:#main(){} [inlined] <anonymous>_2 at i-lib.kt:8:24
   5
   6       inline fun foo(h: __helper): Int {
   7           val sum = h.op {
-> 8               _special_class(it.v)
                               ^
   9           }.v
   10          return sum
   11      }
Target 0: (program.kexe) stopped.
2020-06-10 14:29:13 +02:00
Vladimir Dolzhenko 163bd34172 Fixed GenerateTests.kt.192 compilation
Relates to #KTI-17
2020-06-10 14:16:55 +02:00
Ilya Goncharov 18914ac9a5 [Gradle, JS] Fix name of publication in both mode 2020-06-10 14:52:35 +03:00
Ilya Goncharov 60d62148e8 [Gradle, JS] Fix isMain in js targets 2020-06-10 14:48:29 +03:00
Ilya Goncharov b72f7c3021 [Gradle, JS] Remove Native Only isMainCompilation only 2020-06-10 14:48:29 +03:00
Ilya Goncharov 2d068a42f4 [Gradle, JS] Use common isMain for KotlinCompilation 2020-06-10 14:48:29 +03:00
Dmitriy Dolovov 24568058e1 Minor. Remove unused code 2020-06-10 18:41:05 +07:00
Dmitriy Dolovov 84a4644490 [Commonizer] Speed-up serialization of commonized member scopes 2020-06-10 18:15:12 +07:00
Nikolay Krasko 974e01ec70 Fix bunch files after moving plugin.xml 2020-06-10 13:01:20 +03:00
Nikolay Krasko 6babc73320 AS41: Fix problems with initialization of Android plugin in tests
org/intellij/images/fileTypes/ImageFileTypeManager
java.lang.NoClassDefFoundError: org/intellij/images/fileTypes/ImageFileTypeManager
	at org.jetbrains.android.AndroidPlugin.lambda$registerWebpSupport$1(AndroidPlugin.java:50)
2020-06-10 13:01:20 +03:00
Nikolay Krasko 7190b3400f 202: Fix compilation in DefaultDiagnosticReporter 2020-06-10 12:39:29 +03:00
Nikita Bobko ff7576f8e4 202: Fix compilation 2020-06-10 12:39:29 +03:00
Nikita Bobko eb67c4519d 202: Fix compilation because of CoreJarVirtualFile
CoreJarVirtualFile is now package private. And seems that
most of VirtualFiles return system independent path
2020-06-10 12:39:28 +03:00
Nikolay Krasko 256bd8d594 202: Disable check for broken plugins in tests
Otherwise is is an exception in PluginManagerCore
because of brokenPlugins.txt file.
2020-06-10 12:39:28 +03:00
Nikolay Krasko 143cad78bf 202: Add fastutil dependency to compiler for to make proguard work 2020-06-10 12:39:27 +03:00
Nikolay Krasko cc709a2ef9 202: Update dependencies 2020-06-10 12:39:27 +03:00
Nikolay Krasko 8485532856 202: Update to the latest EAP 2020-06-10 12:39:26 +03:00
Ilya Goncharov fdbdc5aac7 [Gradle, JS] Fix error message for both executable 2020-06-10 11:26:22 +03:00
Pavel Kirpichenkov 83144d59be Fix tests 2020-06-10 10:58:42 +03:00
Mads Ager dc34d355bc [JVM_IR] Generate line numbers and nops for init blocks.
This seems to be what JVM does and it allows you to set a
breakpoint on the init line.
2020-06-10 08:05:52 +02:00
Ilmir Usmanov 85e2392fef Fix merging two reference values
In this case, make the result of value type Object instead of unknown.
2020-06-09 20:52:29 +02:00
Ilmir Usmanov 5567033b33 Revert "Revert "Completely rewrite reifiedIntTypeAnalysis, making it more streamline""
This reverts commit 822c14814b.
2020-06-09 20:52:24 +02:00
Alexander Udalov e801fad4d4 Minor, unmute test on fun interface inheritance for FIR 2020-06-09 20:00:37 +02:00
Alexander Udalov e3a23aed33 Minor, remove unneeded check in ClosureCodegen
Actually we do need to generate delegates to DefaultImpls even for Java
SAM wrappers, so this condition is incorrect. However, this never worked
properly anyway because of KT-12466.
2020-06-09 19:56:27 +02:00
Mikhail Zarechenskiy 93e9d3e57d Delay check for possibly deferred return type for reference candidate
This issue appeared after recently added new overload for flatMapTo.
 Before that, we picked candidate returning List<T> and completed
 inference, now we also check one more flatMapTo, which is here is
 incorrect and as a result we go into outer scope. Outer scope contains
 one property with deferred type, which introduced error about
 "typechecker has run into recursive problem" even it isn't applicable
 by receiver.

 So, the fix is to check receiver first and only then check return
 type of a candidate.

 #KT-39470 Fixed
2020-06-09 17:36:58 +03:00
Konstantin Tskhovrebov 21f7cd5d8f Add test for check expect/actual gutters at same module. 2020-06-09 16:28:28 +03:00
Konstantin Tskhovrebov a6161c6f22 Fix expect/actual gutters for declarations in the same module.
Fixed #KT-33510.
2020-06-09 16:28:27 +03:00
Ilya Kirillov 3b422377d2 FIR IDE: move validation contract to analysis session base class 2020-06-09 16:20:26 +03:00
Ilya Kirillov fb8acf8c1e FIR IDE: add tests for call resolve 2020-06-09 16:20:26 +03:00
Ilya Kirillov 8ac0466ec2 FIR IDE: resolve constructors to correct CallInfo 2020-06-09 16:20:25 +03:00