Commit Graph

57577 Commits

Author SHA1 Message Date
Mikhail Glukhikh 20c45a8382 FIR general refactoring: get rid of ConeSymbols 2019-09-16 16:55:42 +03:00
Ilmir Usmanov c1c46daa01 Use en_US.UTF-8 locale instead of default locale to work around errors
in tr_TR.UTF-8 locale in coroutines-specific code.

 #KT-33821: Fixed
2019-09-16 16:50:05 +03:00
Ilmir Usmanov 1951ff8054 JVM_IR: Minor. Unmute tests 2019-09-16 16:49:24 +03:00
Ilmir Usmanov a3284326af JVM_IR: Do not box/unbox result in continuations
Otherwise, it leads to CCE from kotlin/Result.
2019-09-16 16:49:22 +03:00
Ilmir Usmanov 402a77126f JVM_IR: Support inline suspend functions
Only no state-machine version for now.
2019-09-16 16:49:21 +03:00
Ilmir Usmanov 2ec3417e0e JVM_IR: Move suspend functions into view transformation to codegen phase
Support suspend functions with default arguments.
2019-09-16 16:49:18 +03:00
Toshiaki Kameyama 6b36833ee2 Highlight usages: highlight declaration/usage on call of function with lambda argument (KT-30824)
#KT-30824 Fixed
2019-09-16 16:26:02 +03:00
Nikolay Krasko 26bef2d109 Fix muted usage highlighter test by ignoring irrelevant highlighting
UsageHighlightingTestGenerated.testImplicitReturnExpressionsInLambdasNoHightlighting
2019-09-16 16:26:02 +03:00
Toshiaki Kameyama 7b8abc5457 Move statement: enable expression ended with semicolon (KT-8581)
#KT-8581 Fixed
2019-09-16 16:26:02 +03:00
Alexander Udalov 5259af157a JVM IR: workaround correspondingPropertySymbol absence after deep copy 2019-09-16 14:57:21 +02:00
Alexander Udalov b782cf6bdb JVM IR: workaround KotlinTypeMapper usages in boxing optimization on inline classes 2019-09-16 14:57:21 +02:00
Alexander Udalov c425bd0e0b JVM IR: do not use KotlinTypeMapper in BuilderFactoryForDuplicateSignatureDiagnostics 2019-09-16 14:57:21 +02:00
Alexander Udalov 3a0c41dca4 JVM IR: do not use KotlinTypeMapper indirectly in CallableReferenceLowering 2019-09-16 14:57:21 +02:00
Alexander Udalov 26874a6e1e JVM IR: do not use KotlinTypeMapper in MethodSignatureMapper 2019-09-16 14:57:20 +02:00
Alexander Udalov ee976020bc JVM IR: add KotlinTypeMapperBase, do not use KotlinTypeMapper in metadata serialization 2019-09-16 14:57:20 +02:00
Alexander Udalov bd8ea9412d JVM IR: implement MethodSignatureMapper.mapFunctionName directly 2019-09-16 14:57:20 +02:00
Alexander Udalov 36c242764f JVM IR: implement MethodSignatureMapper.mapSignature directly
As well as mapFieldSignature, mapReturnType, mapAsmMethod and smaller
methods. This removes yet another dependency on KotlinTypeMapper in the
IR backend.
2019-09-16 14:44:16 +02:00
Alexander Udalov 46ced326b8 JVM IR: minimize usages of some methods in MethodSignatureMapper
Also do not pass useless parameters such as OwnerKind which is always
IMPLEMENTATION in the IR backend
2019-09-16 14:44:16 +02:00
Alexander Udalov 4dc1d61c38 JVM IR: do not remove overridden symbols in BridgeLowering
This information might be needed in subsequent lowerings or codegen. For
example, it'll be needed in MethodSignatureMapper to determine that we
need to box primitive return type if one of overridden functions has a
non-primitive return type.

For invoke in lambda classes specifically though, we need to remove this
override from the specialized invoke because otherwise we'd call a boxed
version in the bridge (see 73d2ae961c). In this change, we still keep
the override on a bridge though just for the sake of IR consistency.
2019-09-16 14:44:16 +02:00
Alexander Udalov 45929f57b6 Minor, add test on name mangling of private multi-file part members 2019-09-16 14:44:16 +02:00
Vyacheslav Gerasimov cb482571cb Build: Fix javadocJar task configuration
Add artifact outside of lazy configuration lambda, otherwise it is never
added
2019-09-16 15:26:56 +03:00
Leonid Startsev cec37cf78a Add supertype type arguments to super() call in deserialization ctor
#KT-31619 fixed
Fixes https://github.com/Kotlin/kotlinx.serialization/issues/525
2019-09-16 15:03:17 +03:00
Leonid Startsev 0b669e72b0 Do not report error about 'initializer required for @Transient properties' on lateinit vars
Fixes https://github.com/Kotlin/kotlinx.serialization/issues/553
2019-09-16 15:03:17 +03:00
Leonid Startsev 4e516d7c94 Fix IR validation warnings in serialization plugin
- Insert patchDeclarationParents after whole processing
- Copy IR nodes to avoid duplications
- Insert correct type for getter during serialization of properties from parent class
- Do not use irThrowIse because it is broken somewhere in Native backend
2019-09-16 15:03:17 +03:00
Ilya Matveev d3f1cf1cdd Gradle, native: Don't ignore exit codes of K/N tests
Issue #KT-32872 fixed
2019-09-16 18:28:03 +07:00
Alexander Udalov 9d257a1ed8 JVM IR: generate call to checkNotNull in IrCheckNotNull since 1.4
#KT-22275
2019-09-16 12:33:01 +02:00
Ilya Goncharov acc86be043 Extend karma-teamcity-reporter to log browser's output
#KT-32073 fixed
#KT-32281 fixed
2019-09-16 12:33:45 +03:00
Ilya Goncharov 8fbdb15626 Show suppressed output in case of karma launch failed 2019-09-16 12:31:59 +03:00
Ilya Goncharov 425582bb4b Use only custom karma reporter
- Ideally these changes should be on karma-teamcity-reporter
2019-09-16 12:31:59 +03:00
Ilya Goncharov ddbae98841 Remove redundant marker of browser log starting 2019-09-16 12:31:58 +03:00
Ilya Goncharov 355f847ee0 Add parse of karma log to find browser's messages
- Log browser's message respects their log level
2019-09-16 12:31:58 +03:00
Ilya Goncharov 8c46fab6d8 Add own reporter that reports only browser log in specific format 2019-09-16 12:31:57 +03:00
Ilya Goncharov 9bb5022eb4 Move nested classes 2019-09-16 12:31:57 +03:00
Ilya Goncharov 6277267563 Make KarmaConfig as data class 2019-09-16 12:31:57 +03:00
Ilya Goncharov 8f7c5c13f8 Parse karma problem to fail task
#KT-31663 fixed
2019-09-16 12:31:55 +03:00
Ilya Goncharov 3d67b952f8 Parse browser output to log 2019-09-16 12:25:55 +03:00
Dmitriy Novozhilov c8d087d744 [FIR] Tests. Save failed tests into testdata 2019-09-16 10:58:51 +03:00
LepilkinaElena 7cae9214d7 Disable endorsed libraries in plugin (#2536) 2019-09-16 09:43:22 +03:00
Ilya Matveev 3120eff6f5 Update K/N: 1.3.60-dev-12266 2019-09-16 12:45:06 +07:00
Ilya Matveev 45a413c892 Gradle, native: Minor fixes
Fix ReplaceWith for compilation.extraOpts
Simplify languageSettings access in compile tasks
Use checkedReplace in binary integration tests
2019-09-16 12:45:06 +07:00
Ilya Matveev 60ae03f08b Gradle, native: Don't use deprecated DefaultTask.newOutputFile()
This method is planned to be removed in Gradle 6.0, so we avoid
using it.
2019-09-16 12:45:05 +07:00
Ilya Matveev dda25875d4 Gradle, native: Use language settings when link from sources
Take language settings into account when a final binary is
being built from sources.
2019-09-16 12:45:05 +07:00
Ilya Matveev 57635f7ba3 Update Kotlin/Native: 1.3.60-dev-12104 2019-09-16 12:45:05 +07:00
Ilya Matveev 7122a9d819 Gradle, native: Propagate compilation free args to link tasks
The free args DSL may be changed in 1.3.70 for all platforms. So it
was decided to preserve the old behaviour here to avoid making
similar changes in two releases in a row.
2019-09-16 12:45:04 +07:00
Ilya Matveev 20332ae231 Gradle, native: Pass --progressive to both compile and link tasks 2019-09-16 12:45:04 +07:00
Ilya Matveev 90358dee55 Gradle, native: Allow user to force old behaviour of link tasks
We leave an ability to build final native binaries directly from
sources instead of building them from a klib. Thus we allow
a user to workaround possible bugs related to building a final
binary from a klib (-Xinclude compiler flag).
2019-09-16 12:45:04 +07:00
Ilya Matveev f07e0594e2 Gradle, native: Report passing binary-specific args to compilation
Earlier we propagated all free args specified for a compilation into
a link task. It was required because the link task actually compiled
the same source as the compile task but with another output kind.

But currently a link task produces a final binary from a klib instead
of sources. It means that such a propagation becomes incorrect. Now
options related to the compiler frontend like -Xexperimental must
be specified per compilation while options related to the compiler
backend (e.g. -opt, -g, -Xstatic-framework etc) - per binary.

This path shows a special warning if some of "binary-specific"
arguments are passed to a compilation.
2019-09-16 12:45:03 +07:00
Ilya Matveev 8d495c4b45 Gradle, native: Produce binaries from klibs and bump K/N version
Earlier all native binaries were produced directly from sources of
corresponding compilations. This patch changes this behavior. Now
a klibrary produced by a compilation is used to build a final
binary instead of sources. This allows us to avoid parsing the same
sources several times and reduces build time.

This patch also updates K/N version to 1.3.60-dev-11975, to get the
corresponding support from the compiler side.

Issue #KT-33076 Fixed
2019-09-16 12:45:03 +07:00
Ilya Matveev 3a935402a4 Gradle: Deprecate native extraOpts method in favor of common API 2019-09-16 12:45:02 +07:00
Abduqodiri Qurbonzoda f01420332f Avoid division in string-to-number conversions (KT-26309) 2019-09-15 21:08:23 +03:00