Commit Graph

56313 Commits

Author SHA1 Message Date
Nikolay Krasko 20fedb040f Update 192 branch to 2019.2 BETA2 (192.5728.12) 2019-07-17 23:50:32 +03:00
Nikolay Krasko 59c5bcc11c Fix Jsr305HighlightingTest in 192 - don't ask project for not initialized fixture 2019-07-17 23:50:32 +03:00
Nikolay Krasko 9e002b3ff8 Fix inability to instantiate UsefulTestCase because of JdomSerializer
Stack Trace
	  at kotlin.collections.CollectionsKt___CollectionsKt.first(_Collections.kt:184)
	  at com.intellij.configurationStore.XmlSerializer.<clinit>(xmlSerializer.kt:15)
	  at com.intellij.codeInsight.CodeInsightSettings.writeExternal(CodeInsightSettings.java:228)
	  at com.intellij.testFramework.UsefulTestCase.<clinit>(UsefulTestCase.java:104)
	  at com.intellij.testFramework.TestLoggerFactory.log(TestLoggerFactory.java:154)
	  at com.intellij.testFramework.TestLogger.info(TestLogger.java:70)
	  at org.jetbrains.kotlin.scripting.compiler.plugin.definitions.CliScriptDependenciesProvider.calculateRefinedConfiguration(CliScriptDependenciesProvider.kt:45)
	  ...
2019-07-17 23:50:32 +03:00
Alexander Udalov 5341de253f JVM IR: run FileClass & ExpectDeclarationsRemoving phases on whole module
Since we now generate file classes even for IR loaded from dependencies
(see 3a9b94235f) to simplify code in certain lowerings, it makes sense
to do that for all source files together before any meaningful
lowerings. The easiest way to do so is to make FileClassLowering a
module-wide phase.

ExpectDeclarationsRemoveLowering is now also a module-wide phase because
it needs to be run before FileClassLowering (to avoid producing empty
facades for files that only contain `expect` declarations)
2019-07-17 18:15:02 +02:00
Alexander Udalov e867830eab JVM IR: inline JvmBackend, JvmCodegen 2019-07-17 18:15:02 +02:00
Alexander Udalov 9d639bc9a4 Minor, remove code duplication in WrappedDescriptors 2019-07-17 18:15:01 +02:00
Georgy Bronnikov 0423d0f41e JVM_IR: specify facadeClassGenerator properly in Psi2IrTranslator 2019-07-17 18:15:01 +02:00
Dmitriy Dolovov 1d3b1ed0cb CIDR: Filter aux library order entries that do not represent K/N libraries
Issue #KT-32726 Fixed
2019-07-17 22:37:42 +07:00
Dmitriy Dolovov 10b79816ab Always analyze KTS with JVM platform
Issue #KT-29953
2019-07-17 22:37:37 +07:00
Dmitriy Dolovov 80d2e2ac0d Make [Jvm|Js]IdePlatformKind and [Jvm|Js]IdePlatformKindTooling available in all IDEs
Issue #KT-29953 Fixed
2019-07-17 22:37:31 +07:00
Dmitriy Dolovov f37c81f1be Dependency on K/N platform-deps is no more required in plugin.xml 2019-07-17 22:37:25 +07:00
victor.petukhov 7ee5583c89 Fix error message for non-parenthesized annotations on functional types 2019-07-17 17:02:46 +03:00
victor.petukhov 6a679d86ab Support non-parenthesized annotations on functional types without receiver
^KT-31734 Fixed
2019-07-17 16:18:15 +03:00
Vadim Brilyantov 60e3787800 Tests for Sealed Class move + Fix invalid move declaration test
MoveDeclarationToSeparateFile.testSealed test was threated to check that the intention is not applicable but it currently is.
2019-07-17 15:53:58 +03:00
Vadim Brilyantov 91d603292c #KT-27389 : Change JavaSourceRoot usages to Kotlin analogs 2019-07-17 15:53:58 +03:00
Vadim Brilyantov 895b49c0b9 Disable default search in comments and strings when renaming 2019-07-17 15:53:58 +03:00
Vadim Brilyantov 145a4b24ca #KT-29622: Support sealed classes with non-nested impls move 2019-07-17 15:53:57 +03:00
Vadim Brilyantov a16551557c #KT-29622: Support sealed classes with nested impls move 2019-07-17 15:53:57 +03:00
Vyacheslav Gerasimov a8e0dfabc7 Add -XX:+HeapDumpOnOutOfMemoryError for gradle in import tests
#KT-32643
2019-07-17 15:39:44 +03:00
Alexander Udalov 9595c815f1 JVM IR: invent names for SAM wrapper classes
Similarly to how it's done for callable references. This is needed for
IrTypeMapper to be able to correctly compute the name of the SAM wrapper
IrClass without resorting to the name of the underlying descriptor
(computed in CodegenAnnotatingVisitor)
2019-07-17 13:55:37 +02:00
Alexander Udalov a15575d546 JVM IR: do not use KotlinTypeMapper in IrTypeMapper.mapType 2019-07-17 13:55:37 +02:00
Alexander Udalov 1e16c0a447 JVM IR: minimize public API of IrTypeMapper 2019-07-17 13:55:37 +02:00
Alexander Udalov 59ce76e9fd JVM IR: do not use misleading names for callable reference classes
The real JVM name is invented in InventNamesForLocalClasses and will be
used by the codegen when generating the actual class
2019-07-17 13:55:36 +02:00
Alexander Udalov 29fa1793d3 JVM IR: add InventNamesForLocalClasses pass 2019-07-17 13:55:36 +02:00
Alexander Udalov 529efff8cb IR: introduce IrAttributeContainer
This is useful to store data that must be kept when the element is
transformed, such as names of local/anonymous classes and
EnclosingMethod values on JVM which are computed before any lowerings.

For now, this is implemented very conservatively: the only field
`attributeOwnerId` which can be used in BackendContext implementation as
a key in the map
2019-07-17 13:55:36 +02:00
Alexander Udalov d399144b80 Use TypeSystemCommonBackendContext in mapBuiltInType 2019-07-17 13:55:36 +02:00
Alexander Udalov 13bc5f0c47 Use TypeSystemCommonBackendContext in computeExpandedTypeForInlineClass 2019-07-17 13:55:36 +02:00
Alexander Udalov c27d9c4546 Use TypeSystemCommonBackendContext in KotlinTypeMapper.writeGenericArguments 2019-07-17 13:55:36 +02:00
Alexander Udalov 2585ce0aa7 Introduce TypeSystemCommonBackendContext, use in KotlinTypeMapper.getVarianceForWildcard 2019-07-17 13:55:35 +02:00
Alexander Udalov 0460b2990f Use TypeSystemContext in KotlinTypeMapper.hasNothingInNonContravariantPosition
Thanks to this abstraction, this code will now easily work with
IrType-based TypeSystemContext implementation in the new IR type mapper
2019-07-17 13:55:35 +02:00
Alexander Udalov 1896537091 Minor, extract inline class type mapping to separate file 2019-07-17 13:55:35 +02:00
Alexander Udalov bd8c09bfb5 JVM IR: move CollectionToArray creation to JvmSymbols
Also simplify it to use IR builder DSL
2019-07-17 13:55:35 +02:00
Alexander Udalov 15e0fd93bd Minor, rename IrBuiltIns.IrTypeMapper -> BuiltInIrTypePair
To avoid name clash with the new IrTypeMapper in JVM backend
2019-07-17 13:55:35 +02:00
Alexander Udalov f9a1e582b2 Minor, somewhat simplify ClassCodegen construction 2019-07-17 13:55:35 +02:00
Alexander Udalov edaff968ad Minor optimization in MutableList.transformFlat 2019-07-17 13:55:35 +02:00
Ilya Gorbunov 945e058586 Document return value of removeAll and retainAll with predicate
#KT-32532 Fixed
2019-07-17 14:27:26 +03:00
Dmitry Gridin 7d173ed385 GradleBuildScript: throw exception when trying to change level of language features to disable in multiplatform & fix tests 2019-07-17 12:55:12 +03:00
Dmitry Gridin 0d49ffa831 UpdateConfigurationQuickFixTest: update tests 2019-07-17 12:55:12 +03:00
Dmitry Gridin cb432acfb7 BuildScriptManipulator: implement new syntax for enable experimental features in MPP
#KT-28295 Fixed
2019-07-17 12:55:12 +03:00
Dmitry Gridin 8887031962 GradleConfiguratorTest: fix configureJvmEAPWithBuildGradleKts test 2019-07-17 12:55:11 +03:00
Dmitry Gridin 46dfff7d82 KotlinBuildScriptManipulator: cleanup code 2019-07-17 12:55:11 +03:00
Dmitry Gridin b1d1a4b2e1 FeatureSupportIntentionActionsFactory: add the missing branch else 2019-07-17 12:55:11 +03:00
Dmitry Petrov 28215186ca IR serialization: migrate to new generated Java classes structure 2019-07-17 12:00:34 +03:00
Dmitry Petrov 8baa7dfe22 Generated Java classes for Kotlin IR protobuf 2019-07-17 12:00:34 +03:00
Dmitry Petrov 2305bea2b5 Generate IR protobuf classes as multiple Java files
Otherwise KotlinIr.java becomes too big for IDEA to swallow in the
default configuration.
2019-07-17 12:00:34 +03:00
Dmitry Petrov d6eee37481 GenerateProtoBuf: support java_multiple_files mode 2019-07-17 12:00:34 +03:00
Anton Yalyshev 19dfbfa42c Cleanup: make comments more informative 2019-07-17 10:58:57 +03:00
Anton Yalyshev 1cdcde86e3 Extract adding of sourceSets to subclass, cause superclass is also used in other wizards where this procedure breaks build.gradle
#KT-32105 Fixed
2019-07-17 10:58:39 +03:00
Anton Yalyshev 5b66063650 Add clarifications about single/multi targeting to framework descriptions 2019-07-17 10:58:13 +03:00
Anton Yalyshev a864715cb8 Refactoring: extract and pull up duplicated code from JVM- and JS- related subclassed 2019-07-17 10:57:22 +03:00