Commit Graph

59278 Commits

Author SHA1 Message Date
Mikhail Zarechenskiy 63e62dcf42 Add checkCanceled check on resolving imports path
Imports resolution is a rather time consuming task and doesn't have
 `checkCanceled` on its computation path. So, if a thread is resolving
 imports it will do it until the end of computation, which can lead to
 unnecessary work and some IDE freezes.

 #KT-34990 Fixed
2019-11-20 18:14:57 +03:00
Denis Zharkov db24d4ac9a FIR: Drop ConeTypeAliasLookupTag 2019-11-20 18:02:08 +03:00
Denis Zharkov 38500d27e8 FIR: Add cache for expanded types 2019-11-20 18:02:07 +03:00
Denis Zharkov 159aefd26d FIR: Refactor Cone types
- Get rid of AbbreviatedType
2019-11-20 17:57:35 +03:00
Denis Zharkov e03162f2dd FIR: Rename ConeClassTypeImpl -> ConeClassLikeTypeImpl 2019-11-20 17:55:23 +03:00
Denis Zharkov f178cb6fb3 FIR: Replace trivial usages of ConeClassType with ConeClassLikeType 2019-11-20 17:55:23 +03:00
Alexander Udalov a485a5ffd6 JVM IR: load fields for JvmField properties from dependencies
This is needed to properly lower JvmField property calls to field
accesses.
2019-11-20 15:35:12 +01:00
Alexander Udalov 608449f41d IR: introduce StubGeneratorExtensions for ExternalDependenciesGenerator
This is a refactoring to simplify the API of
ExternalDependenciesGenerator and to constrain future additions of
platform-specific stub generator extensions.
2019-11-20 15:16:57 +01:00
Mikhael Bogdanov c3af2d5a10 JVM_IR. Combine all inline function resolve logic in ResolveInlineCalls lower 2019-11-20 14:37:53 +01:00
pyos 939a9ff53e JVM_IR: fix NPE in interface companion initializers
* When referencing the companion itself, they should use the $$INSTANCE
  field, not the (null until <clinit> returns) Companion field of the
  interface.

* Interface companion init blocks should be made static.
2019-11-20 14:37:19 +01:00
pyos 7c015564ce JVM_IR: do not set ACC_VARARGS if vararg is not the last parameter
Fun fact: this is not actually validated when loading the class; and
even when compiling a java file against a class file that does this,
only javac 9 has a check (1.8 and before simply crashes with
NullPointerException somewhere deep inside the compiler).
2019-11-20 13:40:46 +01:00
Mark Punzalan 7adffe0007 Handle withIndex() on Iterables (including progressions) and Sequences
in ForLoopsLowering.
2019-11-20 13:02:21 +01:00
Mark Punzalan a54d9482dd Handle withIndex() on arrays and CharSequences in ForLoopsLowering. 2019-11-20 13:02:21 +01:00
Mark Punzalan 735535dd5a Extract HeaderInfo base class and add NumericHeaderInfo class, in
preparation for handling withIndex().
2019-11-20 13:02:21 +01:00
Mark Punzalan 2ab539c5eb Encapsulate variable construction and declaration order logic within
ForLoopHeader instead of in HeaderProcessor.
2019-11-20 13:02:21 +01:00
Mark Punzalan 60c05362d2 Refactor ForLoopHeader to clarify the purpose of its functions. 2019-11-20 13:02:21 +01:00
Mark Punzalan 7f803e60b6 Fix typo in forInArrayWithIndex testdata filenames. 2019-11-20 13:02:21 +01:00
Mikhael Bogdanov 9066614cb9 Support inlining of implicitly casted lambda parameter 2019-11-20 12:57:41 +01:00
Mikhael Bogdanov d28ec1d449 Add test for default lambda inlining in suspend inline 2019-11-20 12:57:41 +01:00
Mikhael Bogdanov a92afc5a89 JVM_IR. Disable private default flag test
JVM_IR generates `public` flag
2019-11-20 12:57:40 +01:00
Mikhael Bogdanov 344c11af7f JVM_IR. Support multifile facades in default function inlining 2019-11-20 12:57:39 +01:00
Mikhael Bogdanov 19ce055322 JVM_IR. Pass stub function reference in 'getSignature' 2019-11-20 12:57:38 +01:00
Mikhael Bogdanov a214d61567 IR. Change visibility to lowered default function/constructors to public 2019-11-20 12:57:38 +01:00
Mikhael Bogdanov abef5daea9 IR. Hack to distinguish default values 2019-11-20 12:57:37 +01:00
Mikhael Bogdanov ac31e0e8c7 Support default lambda inlining in IR 2019-11-20 12:57:36 +01:00
Mikhael Bogdanov 8adac2d1ea Don't add unused label if variables are absent 2019-11-20 12:57:36 +01:00
Mikhael Bogdanov be3eed5f1f Access to receiver thought reference class 2019-11-20 12:57:35 +01:00
Mikhael Bogdanov 7bab3a1048 Set non-synthetic origin for generated members of PropertyReference 2019-11-20 12:57:34 +01:00
Mikhael Bogdanov 3196893166 Don't write synthetic arguments to LVT 2019-11-20 12:57:33 +01:00
Mikhael Bogdanov f264942bf9 Don't coerce intrisic value, it's already coerced 2019-11-20 12:57:33 +01:00
Mikhael Bogdanov e409387078 Don't generate jump for last when condition 2019-11-20 12:57:32 +01:00
Mikhael Bogdanov 9a07063d8b Decrease number of 'invokeMethodDescriptor' usage in inliner 2019-11-20 12:57:31 +01:00
Mikhael Bogdanov 3eec67e5d3 JVM_IR. Don't compare with 0 defaultFlag 2019-11-20 12:57:30 +01:00
Mikhael Bogdanov f5fb50b224 IR. Add separate origins for synthetic parameters in default functions.
Keep information about types and default values in lowered funtion
2019-11-20 12:57:30 +01:00
Alexey Trilis 764a25f6ae [JS] Add deprecated typealias and extension properties for renamed in dukat update entities 2019-11-20 12:49:03 +01:00
Andrey Uskov 937cffd273 Support Gradle 5.x in GradleInspectionTest 2019-11-20 13:53:58 +03:00
Andrey Uskov 21b9987a76 Support Gradle 5.x in GradleMigrateTest 2019-11-20 13:53:56 +03:00
Andrey Uskov 5fe4baa4a5 Fix GradleNativeLibrariesInIDENamingTest 2019-11-20 13:53:54 +03:00
Andrey Uskov 968ccf667a Fix GradleNativeLibrariesPropagationTest
Dev plugin in tests were replaced with release version
2019-11-20 13:53:52 +03:00
Andrey Uskov 8a3dfe93f2 Fixed GradleFacetImportTests for gradle 5.x 2019-11-20 13:53:50 +03:00
Andrey Uskov 9e7eff7e72 Enable ImportCompilerArgumentsWithInvalidDependencies test 2019-11-20 13:53:48 +03:00
Vladimir Ilmov 25acb1e191 [coroutine][debugger] removed and regenerated tests for not-ready-to-be-tested logic, kt* tests are failing due to KT-32691 2019-11-20 13:17:56 +03:00
Vladimir Ilmov 09d2bd33f8 [coroutine][debug] incorrect merge conflicting with 00a06ef9b9 2019-11-20 12:36:13 +03:00
Mikhail Glukhikh 137e54db05 FIR Java (raw type bounds erasure): make better protection from recursion 2019-11-19 23:22:36 +03:00
Mikhail Glukhikh 95203e9310 FIR: unmute passing black-box tests (nested constructor resolve) 2019-11-19 23:02:35 +03:00
Mikhail Glukhikh fa739f1aae FIR: optimize classifier scope: don't search for nonexistent symbols 2019-11-19 22:41:19 +03:00
Mikhail Glukhikh d39a36ee25 FIR declared member scope: remove constructors from callable index
This removes constructor resolve ambiguity in some cases.
Now constructors are resolved only via classifiers
2019-11-19 22:41:17 +03:00
Mikhail Glukhikh bd71d1dc3f FIR resolve: use lazy nested classifier scopes for Java classes
It's necessary because JavaSymbolProvider adds nested classifiers lazily.
Commit slows things down due to relatively slow search in symbol providers
2019-11-19 22:40:22 +03:00
Dmitriy Novozhilov cc891c46b1 Mute failing fir blackbox test 2019-11-19 21:09:29 +03:00
Mads Ager 15ed342282 JVM_IR: Generate args check in existing methods for special bridge methods.
Fix the number of arguments checked (1 for getOrDefault and 2 for
remove).
2019-11-19 19:10:04 +03:00