Commit Graph

63 Commits

Author SHA1 Message Date
Ilya Muradyan 68619252a8 Compare lookups without respect to their order
Original commit: 7526ff9484
2020-06-18 09:51:16 +02:00
Alexey Tsvetkov da1c48254d Add tests for lookup tracker with JS KLIB compiler
Original commit: 6acf9385bd
2020-04-10 05:35:45 +03:00
Mikhail Zarechenskiy e42bedfc44 Update test about lookups for SAMs after enabling NI
In NI we don't perform lookup if argument is obviously can't be
 adapted by SAM conversion (and here there is no argument at all)

Original commit: dfe23e770c
2020-02-17 12:38:21 +03:00
Alexey Tsvetkov 7f3cda4894 JS IC: track lookups from libraries
Otherwise we don't track lookups from other modules

    #KT-25540 fixed

Original commit: 8f002fdb43
2018-07-23 15:43:17 +03:00
Alexander Udalov fbe3053f88 Simplify DefaultImportProvider, introduce "low priority imports"
Previously, packages `java.lang` and `kotlin.jvm` were imported on JVM
by default on the same rights, causing problems when the same classifier
existed both in `java.lang` and `kotlin.jvm`. Since the only known case
of such conflict were type aliases to JVM classes, the corresponding
classes (expansions of those type aliases) were manually excluded from
default imports. This made the code in DefaultImportProvider complicated
and resulted in multiple problems, regarding both correctness and
performance (see d8e591f873, 930319281f, 5a048fea6b).

This change adds a new concept, a "low priority import", and treats
`java.lang` as such. Since these imports are now separated from the rest
of default imports in LazyImportScope via secondaryClassImportResolver,
conflicts between classifiers are handled naturally: the one from
`kotlin.jvm` always wins (unless the one from `java.lang` is imported
explicitly, of course). This approach is simpler, safer and does not
require any memory to cache anything.

Skip ResolveToJava.kt test for javac-based resolve; it now fails because
of a weird issue which I didn't have time to investigate (this is OK
because it's a corner case of an experimental functionality)

Original commit: 1f0fb4823f
2018-07-16 13:45:11 +02:00
Denis Zharkov c3ea422125 Record special name lookup when trying use interface as a SAM
It was already working in JPS, because it see our synthetic classes
as subclasses for SAM's, but with non-JPS build we have to manually
tracking places that should be recompiled after SAM members are changed

Original commit: df533053f9
2017-12-12 16:17:58 +03:00
Denis Zharkov 3b83f3c98f Update lookupTracker testData
Just the order of lookups has been changed

Original commit: b77cc54122
2017-09-28 14:01:30 +03:00
Alexey Tsvetkov 9189d7e51f Update lookup tracker test "classifierMembers"
Before the change, the initial build has been failing,
so lookups from deserialized descriptors were not tested.

Original commit: 556c43ae00
2017-08-29 04:28:06 +03:00
Alexey Tsvetkov 309bca8861 Add JS lookup tracker tests
Original commit: 82c977f2d2
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov cc025e5eb1 Extract JVM lookup tracker tests
Original commit: 6cfd090b20
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov f2837bd230 Show in lookup tracker log if there is no lookups in file
Original commit: f3f7ca4b95
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov 519036b28e Decouple lookup tracker tests from JPS
Original commit: 485e2345a9
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov db6a1de155 Remove .touch actions for lookup test cases that fail to compile
It is useless to touch and recompile, because the first compilation
has failed anyway

Original commit: a4c7dbd693
2017-08-10 21:19:41 +03:00
Stanislav Erokhin 4cb5e8a919 Do not force resolve descriptors for explicit imports. Create lazy scope instead.
Original commit: b616ef0a40
2017-02-09 15:42:30 +03:00
Alexander Udalov d323c39b7d Do not import "kotlin.comparisons" by default for language version 1.0
#KT-16199 Fixed

Original commit: b780e6d374
2017-02-07 10:15:57 +03:00
Ilya Gorbunov 40e1c2cdce Add kotlin.comparisons package to default imports.
Original commit: 3ec48ab244
2017-01-19 18:21:14 +03:00
Zalim Bashorov 86d3366b8c KJS: move println to kotlin.io; import kotlin.io by default in Default platform
Original commit: 6ea6e4ab98
2017-01-18 14:25:36 +03:00
Stanislav Erokhin dc4493a544 Update test data for LookupTracker (removed package kotlin.coroutines from default imports)
Original commit: 509a504318
2016-12-15 23:57:54 +03:00
Stanislav Erokhin e5a6d21783 Remove propertyDelegate and fix unused parameter checker for provideDelegate.
Original commit: dbe8edda5f
2016-12-12 23:14:09 +03:00
Stanislav Erokhin 28192d0a02 Rename toDelegateFor to provideDelegate.
Original commit: 9dc9fb578f
2016-12-12 23:14:07 +03:00
Stanislav Erokhin 89c17e9162 Minor. Update Lookup test data.
Original commit: db5250a614
2016-12-12 23:14:06 +03:00
Alexander Udalov 40e9bfffe6 Import classes from kotlin.coroutines by default, add to default imports in JS
Original commit: 6b6ddf5f75
2016-10-24 15:30:38 +03:00
Alexander Udalov 49750cee02 Extract platform-independent default imports to TargetPlatform.Default.defaultImports
This is needed because SourceNavigationHelper uses default platform and it
needs default imports to be able to resolve references (otherwise
NavigateToLibrarySourceTestGenerated breaks)

Original commit: 56e2173b3c
2016-10-21 17:10:39 +03:00
Alexander Udalov b6b3454e26 Do not consider fake variables for objects in :: resolution
The main change is in
NewResolutionOldInference.ResolutionKind.CallableReference, where
createVariableProcessor creates a processor which no longer lists objects

 #KT-12322 Fixed

Original commit: b44f060ffa
2016-07-04 15:42:35 +03:00
Denis Zharkov 720c679184 Introduce coroutine-related API into built-ins
Original commit: e97376bb2c
2016-06-08 18:53:16 +03:00
Zalim Bashorov e7dcf02ffe Introduce TestingContext to pass data between tests and KotlinBuilder; introduce BuildLogger to log build events (build finished, files marked as dirty) in KotlinBuilder
Original commit: f6e7f8c3c0
2016-02-09 23:27:25 +03:00
Yan Zhulanow 63282ffa9a "Inapplicable operator modifier" and "Inapplicable infix modifier" are now errors
Original commit: 3fa506fd45
2016-01-26 17:21:44 +03:00
Stanislav Erokhin 627384fe11 KT-10772 Problem with daemon on Idea 15.0.3 & 1-dev-25
# KT-10772 Fixed

Original commit: aca19ed27a
2016-01-24 12:29:23 +03:00
Alexey Tsvetkov ecd7b0c9d6 Add lookup for every expression's type
Original commit: 310a995bb1
2016-01-22 16:01:36 +03:00
Stanislav Erokhin a907aeec4d Change resolution priority about implicit receivers and synthesized member-like descriptors.
Change resolution to consider extensions to implicit receiver before members of another implicit receiver.
Make synthesized member-like extensions resolve right after the members.

#KT-10510 Fixed
#KT-10219 Fixed

Original commit: 3a9ecf0bce
2016-01-15 13:11:38 +03:00
Stanislav Erokhin 2d6de9f95d Synthetic extensions wins against top-level extension.
Original commit: 1574dc78df
2015-12-18 22:49:25 +03:00
Stanislav Erokhin d9ea7bbd37 Do not discriminate synthesized candidates.
#KT-9965 Fixed

Original commit: 8b5a194dd6
2015-12-18 15:08:19 +03:00
Ilya Gorbunov 55020c886a Fix testData for LookupTracker
Original commit: bf9d50ccc4
2015-12-14 04:29:27 +03:00
Stanislav Erokhin 54e89b72d4 Update lookupTracker test data for tower resolution algorithm
Original commit: 79b30dddf9
2015-12-11 17:01:02 +03:00
Mikhail Glukhikh 3e8231bedb Enum.values: deprecation (warning) --> deprecation (error)
Original commit: c8b50eec1e
2015-12-11 11:11:42 +03:00
Alexander Udalov bbd5932a23 Report error when type parameter has a type parameter bound and any other bound
To prevent issues with erasure on JVM: it's unclear what such type parameter
should be erased to

Original commit: d3c17ec337
2015-12-07 15:47:47 +03:00
Yan Zhulanow 84fea1a41d Fix tests: "infix modifier required" and "operator modifier required" errors
Original commit: 9d1af5a17e
2015-11-27 15:51:11 +03:00
Dmitry Petrov fdef6653e2 Properly resolve values in 1st qualifier part (see implicitReceiverProperty test).
Look into QUALIFIER for left-most "unrolled" qualified expression
    in CallExpressionResolver#getQualifiedExpressionTypeInfo.
Drop some unused functions.

Original commit: b532fa2bbf
2015-11-18 14:35:53 +03:00
Dmitry Petrov 33e89e9c16 Reuse package/class qualifier prefix resolution for qualified expression resolution.
Original commit: 3556f9751e
2015-11-18 14:35:52 +03:00
Zalim Bashorov 35cb01217e Add tests for lookups to enum static scope and to companion object scope
Original commit: 04fed203e4
2015-11-04 22:15:37 +03:00
Zalim Bashorov 1a566ee995 Track lookups for nested/inner Java classes
Original commit: a6855116b8
2015-11-04 22:09:55 +03:00
Stanislav Erokhin dbef220656 Minor. fix testdata
Original commit: 87f32ef07b
2015-11-04 14:28:29 +03:00
Zalim Bashorov 64a1cac2b9 Add test for lookups in generic constraints; Add cases with lookup to companion and nested object;
Original commit: 5d72629b0b
2015-11-02 18:18:37 +03:00
Zalim Bashorov e41b323fb4 Add tests for lookups to declarations form Java
Original commit: 4cb5398c04
2015-11-02 18:18:32 +03:00
Zalim Bashorov ee0ec87da6 Add tests for lookups to deserialized and java scopes
Original commit: 519172f182
2015-11-02 18:18:32 +03:00
Zalim Bashorov 171bfa8d67 Minor: fix testdata
Original commit: 3484c43c8c
2015-11-02 18:18:31 +03:00
Zalim Bashorov d7a4c9a54d Track lookups in JavaSyntheticPropertiesScope
Original commit: a5708c9c0d
2015-10-27 19:38:32 +03:00
Stanislav Erokhin 3f18729d01 Added static methods, nested classes and companion object from superclasses.
Original commit: d5dbc9638d
2015-10-16 20:42:34 +03:00
Alexander Udalov 4a10df80fb Update IDE tests to use KProperty instead of PropertyMetadata
Original commit: 6a965c9a06
2015-10-14 20:45:55 +03:00
Yan Zhulanow 6e19e8c055 Replace get() and set() to getValue() and setValue() (property delegates)
Original commit: 1f2b4e20fe
2015-10-09 22:49:16 +03:00