Commit Graph
100 Commits
Author SHA1 Message Date
Stanislav Erokhin d99f8ac9b4 [mpp] Test that every deprecated pre-HMPP property triggers an Error
Previously all these properties were put together, so only one
of them could have triggered the Error

#KT-59304 Verification Pending
2023-08-03 13:27:37 +00:00
Stanislav Erokhin fcd440fd9e KT-59304 Elevate warning to Error for pre-HMPP flags
Flag `kotlin.mpp.deprecatedProperties.nowarn` was removed.
Diagnostic could be temporarily suppressed by the:
kotlin.internal.suppressGradlePluginErrors=PreHMPPFlagsError
2023-08-03 13:27:37 +00:00
Stanislav Erokhin cfcb0690d7 [mpp] Remove usage of deprecated pre-HMPP properties from tests
#KT-59304 In Progress
2023-08-03 13:27:36 +00:00
Stanislav Erokhin a3eb472e5f [mpp] Update the IdeImportPropertiesConsistencyTest
#KT-48554 Fixed
2023-08-03 13:27:36 +00:00
Stanislav Erokhin a58dd84cdc [mpp] Remove the kotlin.native.enableDependencyPropagation property
This property isn't used in IDE import since 222 (KTIJ-21525)
De-facto it was set to false by the code in
hierarchicalStructureMigrationHandling.kt if HMPP is enabled.
And in the future commit we will forbid to disable the HMPP

#KT-48554 In progress
2023-08-03 13:27:36 +00:00
Stanislav Erokhin 5f07db3c22 Annotate transitiveExport with @ExperimentalKotlinGradlePluginApi
#KT-59196 Verification Pending
2023-07-31 13:54:17 +00:00
Stanislav Erokhin b3236c5824 [mpp] Set the minimum supported gradle to 6.8.3 (same as in KGP)
KGP supports only Gradle since 6.8.3, and we run tests on
buildserver only since this version, so we shouldn't try to work if
gradle < 6.8.3.
And in general in MPP plugin we shouldn't support version that is not
supported in KGP

#KT-59278
2023-07-31 08:25:37 +00:00
Stanislav Erokhin ecbc40cf92 [mpp] Mark Kotlin12XMppDeprecation as FATAL
Old MPP plugins are deprecated for a long time. It is time to report
fatal error for such cases.
Our stdlib still and kotlin-test still using them, so we cannot just
completely remove them, but there is a way to suppress this error:
kotlin.internal.mpp12x.deprecation.suppress=true

Code for the old plugins (together with the remaining testsdata)
will be completely removed once stdlib and kotlin-test
migration completed. ETA: ~ 2.0-Mx

#KT-60553 Verification Pending
2023-07-26 09:25:50 +00:00
Stanislav Erokhin 955520f69e [Gradle] Fix the verbose rendering for FATAL diagnostics
During the tests we are using the verbose way of render the diagnostic
meaning, that we are adding the diagnostic id to the diagnostic message.
And we previously didn't have that for one case, so we were unable to
detect in tests that diagnostic with FATAL severity was reported
2023-07-26 09:25:50 +00:00
Stanislav Erokhin 17ad4ceec9 [KT-58666] Publish kotlin-dom-api-compat among IDE artifacts
This artifact is used in the MPP import tests in IDE

#KT-58666 Fixed
2023-05-16 08:58:55 +00:00
Stanislav Erokhin 96f8bcdf43 [Gradle/MPP] Added IT for android -> androidTarget rename
#KT-57903 In Progress
2023-04-25 19:40:53 +00:00
Stanislav Erokhin 65ffdb418a [Gradle/MPP] Update message about missing android target
#KT-57903 In Progress
2023-04-25 19:40:53 +00:00
Stanislav Erokhin 5eaa6696f4 [Gradle/MPP] Replace android -> androidTarget in functionalTests 2023-04-25 19:40:53 +00:00
Stanislav Erokhin 70c9d6dc44 [Gradle/MPP] Deprecated android in favour androidTarget in MPP DSL
ReplaceWith was added only to `android()` and `android(name)`
because it isn't working for other functions: KTIJ-25383.

#KT-57903 In Progress
2023-04-25 19:40:53 +00:00
Stanislav Erokhin becf50ee0f [Gradle/MPP] Refactored KotlinTargetContainerWithPresetFunctions
Android preset functions were moved to a separate interface
because we need to write custom deprecation with ReplaceWith
due KT-57903.
After that we had generated:
 - all the K/N preset functions
 - jvm functions.
I decided to move jvm function to separate file too,
so the whole division to several files would be somewhat sane.

I kept the KotlinTargetContainerWithPresetFunctions interface to
keep source/binary compatibility for the `android`/ `jvm` preset
functions users

#KT-57903 In Progress
2023-04-25 19:40:53 +00:00
Stanislav Erokhin f06087d5d3 [gradle] Deprecate kotlin-js plugin in favor of kotlin-multiplatform
#KT-57901 Verification Pending
2023-04-18 14:27:21 +00:00
Stanislav Erokhin 57eae167cc Restore FunctionClassKind for compatibility with Android IDEA plugin 2023-02-10 16:01:05 +00:00
Stanislav Erokhin bec9ad0f6b Minor. Rename FunctionClassDescriptor#functionKind -> functionTypeKind
This commit is needed for the following commit.
There we will restore the compatibility API with Android IDEA plugin
2023-02-10 16:01:04 +00:00
Stanislav Erokhin da98a47c4c Minor: tweak wording in the deprecated message 2023-02-08 15:41:21 +00:00
Stanislav Erokhin 6f5ffeb6bb [Gradle][MPP] Fix test after K/N targets deprecation 2023-01-11 17:52:29 +00:00
Stanislav Erokhin dd95256b24 [Gradle][MPP] Add console warning about deprecated K/N targets 2023-01-11 17:52:28 +00:00
Stanislav Erokhin 37ab139139 [Gradle][MPP] Deprecate several K/N targets 2023-01-11 17:52:28 +00:00
Stanislav Erokhin efdfcdff63 Update CODEOWNERS for /libraries/tools/kotlin-gradle-* folders 2022-11-18 12:09:05 +00:00
Stanislav Erokhin a18ac2ac91 Restore JvmIrCodegenFactory constructor for compatibility with AS 221 2022-07-14 16:30:12 +00:00
Stanislav Erokhin d788a927c4 Change deprecations annotation order on Ranges#endExclusive property
We have [Int|Long|Char]Range classes in 2 different places:
- as separate class-files
- serialized in the kotlin_builtins file

For some reason our Kotlin compiler during the JVM compilation
re-arranging the order of the annotations, so in class file they
will be written in the following order:
- Deprecated
- SinceKotlin
- ExperimentalStdlibApi

But in the kotlin_builtins they will be stored the same way as
in the sources.
We need these 2 way to be synchronized, because stub's in IDE
cares about order.

After this commit IDE test BuiltInDecompilerConsistencyTest is fixed
2022-07-05 19:50:45 +00:00
Stanislav Erokhin 62d7094ac5 Remove KtAnalysisSessionFe10BindingHolder
I've removed its usage from Fe10Binding module in the IDE repo
2022-06-27 19:32:45 +00:00
Stanislav Erokhin 3f99e2391b Minor: make some util functions public
I'm going to use it in Fe10Binding to create descriptors for special
constructions
2022-06-27 19:32:44 +00:00
Stanislav Erokhin 66851c7afd [Analysis API] Add KtReceiverParameterSymbol#correspondingSymbol 2022-06-27 19:32:44 +00:00
Stanislav Erokhin 2234813363 [Analysis API] Add KtCallableMemberCall#typeArgumentsMapping 2022-06-23 07:50:21 +00:00
Stanislav Erokhin 8d8fc6e291 [Analysis API] Add type to KtReceiverValue
Maybe in the future we could remove type from the
KtImplicitReceiverValue, because it has ktSymbol, and in theory
that should be enough to create corresponding KtType.
Unfortunately that is not the case for KtClassOrObjectSymbol --
it doesn't have the API for "default" type creation currently.

Regarding code in KtFirCallResolver.kt -- it seems like code there
needs some love in the future. Psi created via custom code there,
because for call x() FIR has receiver x with psi = null
2022-06-23 07:50:21 +00:00
Stanislav Erokhin 2deb0cc237 FIR/Analysis API: Add KtValueParameterSymbol#generatedPrimaryConstructorProperty
This property are used to allow access to the property created from
the primary constructor parameter
2022-05-30 18:39:21 +00:00
Stanislav Erokhin 249dc1e1d2 Fix potential AbstractMethodError on KotlinJvmBinaryClass.getContainingLibrary()
Compiler supposed to generate such method inside the
LocalFileKotlinClass class, but because of the KT-18489 method
getContainingLibrary is not generated. Because of that we potentially
could get AbstractMethodError. In order to fix that we are adding
explicit ovverride in java super class
2022-04-22 16:21:10 +00:00
Stanislav Erokhin f8ae097e50 Restore API used in mobile-ide/kotlin-ocswift
See IDEA/f53c2114c38f856bdf0ff4d01de9fffeeeb630f2 commit.
In 222+ IDEA usage of the old ErrorUtils (and other classes)
was eliminated, but not in the 211-221 versions.

Relevant Kotlin commit: b5933c70e2

Also, I noticed that stub for createUnresolvedType do not
store arguments into Error type, so I've fixed that too
2022-04-04 16:48:35 +00:00
Stanislav Erokhin 7c53685de4 Restore API used in Android safeArg plugin
See IDEA/f53c2114c38f856bdf0ff4d01de9fffeeeb630f2 commit.
In 222+ IDEA usage of the old ErrorUtils (and other classes)
was eliminated, but not in the 211-221 versions.

Relevant Kotlin commit: b5933c70e2

Also, there is usages of UnresolvedType or ErrorType from
the org.jetbrains.kotlin.types package in the safeargs tests,
but it is difficult to restore the compatibility for them.
So, I decided that it is ok to eliminate them in the
`kt-[212|213|221]-*` branches, because it is tests and not
production
2022-04-01 12:43:16 +02:00
Stanislav Erokhin 0347a737f6 Exclude the :compiler:cli-js from the kotlin-compiler-fe10-for-ide.jar
:compiler:cli already excluded and :compiler:cli-js have references
to the classes from :cli.

P.s. the excluded list for kotlin-compiler-for-ide artifact is way more
we need to review that and refactor
2022-01-27 00:29:11 +03:00
Stanislav Erokhin cd957ae774 Return some API and mark them as IDEAPluginsCompatibilityAPI 2022-01-14 16:13:27 +01:00
Stanislav Erokhin 1326ca674e Introduced IDEAPluginsCompatibilityAPI and returned some API
Please read the description of IDEAPluginsCompatibilityAPI.
Also, you may notice, that Deprecation annotation was removed.
That is because with level ERROR it isn't possible to opt-in
to such API in the legit cases. And with level WARNING it won't be
reported because We have diagnostic with level ERROR about OptIn marker.
Sadly, there is no way to add ReplaceWith to the OptIn marker
2022-01-13 18:03:07 +01:00
Stanislav Erokhin 088d489141 Return parcelize-runtime to the parcelize-compiler-plugin-for-ide.jar
Classes like kotlinx.parcelize.Parcelize still used in the Android
plugin in the IDEA, so they should be included into plugin.
Otherwise, we have issues like KTIJ-20220.

#KTIJ-20220 In progress
2022-01-13 17:50:56 +01:00
Stanislav Erokhin 68e5479c95 [CHERRY PICKED FROM IJ] [kotlin:testdata] Update the asm version in AsmVersionForJpsBuildTest
GitOrigin-RevId: 5a2468edca8d1f08c11ce8419178e0e6ce91bd95
Original commit: https://github.com/JetBrains/intellij-community/commit/0a144e464e026bc1f1aa698f28f3b24f6381a890
2022-01-12 15:25:22 +01:00
Stanislav Erokhin 3b6cdb071f [CHERRY PICKED FROM IJ] [testdata] Fix testdata for IncrementalJvmJpsTestGenerated.WithJava.JavaUsedInKotlin#testConstantChanged
Previously, because the package in java file was used, generated test runner file was incorrect

GitOrigin-RevId: 3fcf599a26a0789154c550e6ac4aafe0829ce0d1
Original commit: https://github.com/JetBrains/intellij-community/commit/cbe50ad2423fbdb6e18541ecb040bdb0c67af7fd
2022-01-12 15:25:20 +01:00
Stanislav Erokhin 4d732dea10 [CHERRY PICKED FROM IJ] [kotlin:tests] Fix JsKlibLookupTrackerTestGenerated
GitOrigin-RevId: e29e30f421a9106cae754eaac790b44444fe0af3
Original commit: https://github.com/JetBrains/intellij-community/commit/ae227bdee04004c10e17d3cf9c647887bf4e32af
2022-01-12 15:11:04 +01:00
Stanislav Erokhin 61526c9700 Move AbstractJsScriptlikeCodeAnalyser to the kotlin-scripting-compiler-js module 2021-12-23 20:10:19 +03:00
Stanislav Erokhin 2436ca3d8b Temporary workaround for failing tests on teamcity.
This commit should be reverted later with testdata update
2021-12-22 18:51:20 +01:00
Stanislav Erokhin 255bbbbfa8 Restore binary compatibility with android.nav.safearg plugin
In recent a39fbd3822 commit
contextReceiverParameters was introduced and new parameter to descriptor
methods was added. Luckily, it is low-level methods enough -- i.e.
they related to new descriptor creation, but still, some compatibility
is broken. This commit fixes usages in the android.nav.safearg that I
have found in the IDEA repo, maybe we will find other after some
compatibility testing.
2021-12-08 17:16:21 +00:00
Stanislav Erokhin 8a0969156f Do not set "idea.plugins.compatible.build" -- fix plugin update issue
In the IDEA plugin update there are a code that used system property
"idea.plugins.compatible.build" to calculate the IDEA version
that will be sent to plugin marketplace to download last version of
the plugins. It seems like by some reason setupIdeaStandaloneExecution()
was called from the IDEA thread and because of that idea version was
calculated incorrectly and incorrect version of the plugins was
downloaded.

It is still unclear how the setupIdeaStandaloneExecution() could be
called from the IDEA, so added logging for that.

Relevant issue: MP-3702
Relevant code in the IDEA:
- ApplicationInfoImpl.getPluginsCompatibleBuildAsNumber
2021-11-25 15:50:37 +03:00
Stanislav Erokhin c9e7c5d156 [LC] Mute Light tests about repeatable annotation
It isn't supported in Light classes, so we should mute it.
Quite similar change was done in 724194dec0
2021-11-01 10:38:09 +00:00
Stanislav Erokhin c591601274 [LC] IDE LightClasses testdata update
Unfortunately, the same testdata is used in IDE, so we should change
testdata in compiler repo and this will affect IDE repo.
This commit is the cherry-pick of commits from IDE repo:
- 4310d730795a53a Fix UltraLightClassLoadingTestGenerated.testEnums():
       check by Java file as ULC produces a different but better result
       Yan Zhulanow 3/17/21, 8:57 AM
- fbe3c8ba0841f2d4 Disable comparison test for
       UltraLightClassSanityTestGenerated.
       testAnnotatedPropertyWithSites() Yan Zhulanow 3/18/21, 1:33 PM
- 8fc53027343b5b53 Ignore known (for ages) broken behaviour
       of LC Vladimir Dolzhenko 3/19/21, 11:17 PM
2021-11-01 10:38:09 +00:00
Stanislav Erokhin f455141ade [ULC] Fix rendering for Foo.class in annotation value
Previously it was Foo::class, but it isn't correct because in java it
is Foo.class

P.s. Array<Foo> cannot be passed as annotation parameter
2021-11-01 10:38:09 +00:00
Stanislav Erokhin 65abc94411 [ULC] Unify modifiers for RepeatableAnnotationContainer
All the other annotation classes has abstract modifier.
All nested interfaces has static modifiers.

This commit is not so important for compiler, but it is matter for IDE,
because when we load classes in IDE via
KtLightClassForDecompiledDeclaration -- there are Abstract and Static
on the Container class
2021-11-01 10:38:08 +00:00
Stanislav Erokhin 9becb2c468 Add compiler performance metrics
WIP
2021-08-24 16:33:12 +03:00
Stanislav Erokhin 748a2d2e7c [MPP] Performance optimization in expect/actual checker
Previously, the checker executed for every declaration i.e. every
declaration was considered as expect declaration. Because of that in
some cases this checker could eat 6% of compilation time.
After this commit only declarations marked with expect or actual
are checked. To achieve that, logic, that do reporting about missing
actual modifier was moved to the Actual part.

Please note, that in cases where there is no expect/actual modifier at
all other errors (like redeclaration and missing body on "actual"
declaration) would be reported.

Useful nodes:
- In this checker reportOn is always the same as
descriptor.sourceElement.ktElement. This is because the only case when
it isn't true is PropertyAccessors and they are filtered
- Annotation constructor descriptor isActual == true all the time
- previously for weak incompatible members ACTUAL_MISSING
was not reported
- the logic here is super complicated and crazy, but I don't think that
there is sense to refactor it in the old FE
2021-08-04 15:19:34 +03:00
Stanislav Erokhin e9a2997f7e Minor refactoring -- use util function 2021-08-04 15:19:32 +03:00
Stanislav Erokhin b5994fa3a9 Remove the Kotlin online event link 2021-05-25 19:19:26 +02:00
Stanislav Erokhin eb4bb9554d Add ReplaceInvoke adn ReplaceCallWithUnaryOperator intention support
Surprisingly all test passed
2021-05-11 12:48:18 +02:00
Stanislav Erokhin 85d9e96632 Partially support call with errors
Cases with no candidates or with Ambiguity is not supported yet
2021-05-11 12:48:17 +02:00
Stanislav Erokhin 080a832605 Fix argument mapping for lambda arguments and default arguments
Maybe for other elements ValueArgument itself used as SourceElement
2021-05-11 12:48:17 +02:00
Stanislav Erokhin 335c5a03b6 Add correct equals/hashCode to KtSymbolBasedAbstractTypeConstructor
Previously there were no equals/hashCode implementation.
Because of that subtyping not working properly. That is because in
subtyping we have checks that type constructors are equals

Also toString was added so now it is a bit easier to debug code
involving the KtSymbolBasedAbstractTypeConstructor
2021-05-11 12:48:16 +02:00
Stanislav Erokhin dc1ce19db9 Extract some logic from AbstractTypeConstructor to reuse it later
In FE10-binding I would like to re-use equal and hashCode mechanics
that was implemented in AbstractTypeConstructor, but I don't need
the supertype implementation, because it already there in FIR
2021-05-11 12:48:16 +02:00
Stanislav Erokhin d2f831b635 Handle exception during intention background computation in tests
Our test infrastructure (in particular, muting mechanics) rely on
thrown exception during doTestFor function call. But if the
exception happened on background thread, then here we'll get only
TimeOutException but the actual exception won't be reported during
doTestFor call. It would be reported later by the common IDEA test
framework and bypass our mute mechanics
2021-05-10 14:04:04 +03:00
Stanislav Erokhin 7ac599520e Add first prototype of BindingContext implementation by FIR
Add ImportMemberIntention intention as a test.
In this commit all failed test were disabled, necessary fixes will be
added in the following commits
2021-05-10 14:04:03 +03:00
Stanislav Erokhin 6919f3dbb5 Move KotlinCacheServiceImpl to plugin-common.xml
This was done to prevent fir plugin from loading FE 1.0 services
2021-05-10 14:04:02 +03:00
Stanislav Erokhin d9be05fea8 Support getContainer for the synthetic it value parameter
Also fixed incorrect KtSymbolOrigin:
it was SOURCE instead of SOURCE_MEMBER_GENERATED
2021-05-04 17:25:34 +02:00
Stanislav Erokhin c24ad0ba51 Use KtFunctionLiteral as key for KtAnonymousFunctionSymbol retrieving
It seems logical to do, because KtFunctionLiteral is KtDeclaration
and KtLambdaExpression is not. Also FirAnonymousFunction use it as
realPsi reference
2021-05-04 14:01:30 +02:00
Stanislav Erokhin 8ffb822c3c Add way to create the FirAnalysisSession with custom token
This way should be used only for old FE wrappers.
It is important that Fir session with custom token should be cached,
because otherwise session with incorrect validity token could be
returned from cache inside analyze call
2021-04-01 18:26:38 +02:00
Stanislav Erokhin f77ba914c7 [MERGE] Kotlin/Native history merged into kotlin/master 2021-02-26 15:30:58 +01:00
Stanislav Erokhin c1722350b6 Add constructors to KtScope
- KtClassLikeSymbol.primaryConstructor was removed
- Constructors were removed from getCallableMembers because
constructors has no name (or special name `<init>`) and previous
implementation was incorrect
- KtScope.getAllSymbols returns constructors as before. Before it was
like this because of the incorrect implementation of getCallableMembers
- getConstructors has sence only for class scope,
for the rest cases it is empty
2021-01-14 12:12:28 +01:00
Stanislav Erokhin c5229291be Add dispatchReceiver and extensionReceiver to relevant KtSymbols 2021-01-14 12:12:27 +01:00
Stanislav Erokhin 96b6efd401 Add type parameters to the KtConstructorSymbol
Yes, for kotlin classes there are not allowed. But unfortunately
they are for java classes
2021-01-14 12:12:27 +01:00
Stanislav Erokhin 732a997479 Use Variance instead of custom class in KtTypeArgumentWithVariance 2021-01-14 12:12:27 +01:00
Stanislav Erokhin f6bf2f6b7b Add variance and isReified into KtTypeParameterSymbol 2021-01-14 12:12:27 +01:00
Stanislav Erokhin c17eee0085 Add data/inline/fun/isExternal flags to KtClassLikeSymbol 2021-01-14 12:12:26 +01:00
Stanislav Erokhin 7e4ba1a062 Remove unused Unknown modality from KtSymbolWithModality. 2021-01-14 12:12:26 +01:00
Stanislav Erokhin e1e096b4ea Add PRIVATE_TO_THIS visibility to KtSymbolWithVisibility
This visibility is used for some cases where it isn't allowed to access
to private members of the object from other instances of the same object
because of the type parameter variance.

For almost all clients this visibility is the same as PRIVATE
2021-01-14 12:12:26 +01:00
Stanislav Erokhin d50a5e7517 Add ConstantValueKind to KtSimpleConstantValue 2021-01-14 12:12:25 +01:00
Stanislav Erokhin d24331955e Rename FirConstKind to ConstantValueKind and move it to compiler.common 2021-01-14 12:12:25 +01:00
Stanislav Erokhin adc3266794 Merge commits from both masters and update to 1.5.0-dev-805 compiler
Kotlin/Native base commit: 44514776e438151b3cc33d2e891c12764dbb3319
2020-12-21 16:34:47 +01:00
Stanislav Erokhin 6bebbb92a0 Merge commits from both masters and update to 1.5.0-dev-500 compiler
Kotlin/Native base commit: ed1035eb82d63dde60823852276901aaeacb644b
2020-12-14 15:37:29 +01:00
Stanislav Erokhin 3519c57938 Merge commits from both masters to 1.4.30-dev-3009 compiler
Kotlin/Native base commit: b4d5f092a138b9aed2f459e44774c5c0ef18cca7
Kotlin base commit: 926dc085da
2020-11-28 21:16:49 +01:00
Stanislav Erokhin f6df624c6b KT-43202 Fix isEap function: support RC version
Since 1.4.20 we changed rc suffix to RC.
Old variant (rc) kept just in case
#KT-43202 Fixed
2020-11-09 10:52:50 +03:00
Stanislav Erokhin 3019224984 Enable composite build 2020-10-27 22:18:35 +03:00
Stanislav Erokhin 760bdbc5e0 Merge kotlin/native history into kotlin
There is some preparation commits in kotlin-native branch before merge
and they shouldn't be in kotlin-native master branch
2020-10-27 21:06:02 +03:00
Stanislav Erokhin f624800b84 Move everything under kotlin-native folder
I was forced to manually do update the following files, because otherwise
they would be ignored according .gitignore settings. Probably they
should be deleted from repo.

Interop/.idea/compiler.xml
Interop/.idea/gradle.xml
Interop/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_runtime_1_0_3.xml
Interop/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_0_3.xml
Interop/.idea/modules.xml
Interop/.idea/modules/Indexer/Indexer.iml
Interop/.idea/modules/Runtime/Runtime.iml
Interop/.idea/modules/StubGenerator/StubGenerator.iml
backend.native/backend.native.iml
backend.native/bc.frontend/bc.frontend.iml
backend.native/cli.bc/cli.bc.iml
backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt
backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2NativeCompilerArguments.kt
backend.native/tests/link/lib/foo.kt
backend.native/tests/link/lib/foo2.kt
backend.native/tests/teamcity-test.property
2020-10-27 21:00:28 +03:00
Stanislav Erokhin 91e4162dad Start perparation for kotlin/native merge into kotlin repo
This is first commit that should't be in kotlin/native master
and should be done only in kotlin repo.
Removed .gitmodule -- because it wasn't used.
.github/* -- because in kotlin repo issues are disabled
.idea/vcs.xml -- because kotlin already has this settings
2020-10-27 20:39:02 +03:00
Stanislav Erokhin 0c094b1719 Serialize jvm reflect into builtIns
Basically this is revert of 427e34fe5a commit
This was done due to the KT-39728.
Also we do pick every file separately, because builtIn serializer
unable to filter expects
2020-07-22 11:08:14 +03:00
Stanislav Erokhin 67090e1afb Move KTypeProjection to separate file 2020-07-22 11:08:14 +03:00
Stanislav Erokhin 8772fabc4f Fix since-build version for AS 3.6 and AS 4.0 2020-07-07 15:40:02 +03:00
Stanislav Erokhin 74ce26cdc2 Fix 1.4-M2 ChangeLog.md 2020-07-02 22:16:59 +03:00
Stanislav Erokhin f753824429 Advance bootstrap version to 1.4.20-dev-1401 2020-06-30 17:56:11 +03:00
Stanislav Erokhin 74348d5ffb Fix compile configuration for maven compiler plugins
Previously in kotlin-maven-noarg & kotlin-maven-serialization plugins
java was compiled before kotlin, and because of that links from java
to kotlin was unresolved.
It was fixed as prescribed by docs: https://kotlinlang.org/docs/reference/using-maven.html#compiling-kotlin-and-java-sources
2020-02-26 12:12:35 +03:00
Stanislav Erokhin 453008e488 Deprecated reportFromPlugin way to report diagnostics from plugin
Originally reportFromPlugin method was introduced to address the problem
with loading of DefaultErrorMessages.Extension vis ServiceLoader.
For some cases this extension was not loaded by ServiceLoader because
classes was loaded via different class loader, common scenario here is
compiler plugins. Ideally we should load such extension point via
getService approach, but unfortunately to do that we need project and
DefaultErrorMessages.render is static method for now.
Also with reportFromPlugin approach is a problem -- all diagnostics
reported via this method has the same id: PLUGIN_[WARNING|ERROR|INFO]
and it isn't possible to suppress only one particular diagnostic.
To bypass this problem the new method
initializeFactoryNamesAndDefaultErrorMessages was introduced.
It basically store DiagnosticRenderer inside DiagnosticFactory.
It is not ideal, because one DiagnosticFactory could have different
renderers for different scenarios -- for compiler and for IDE, but
I think that it is better than reportByPlugin approach.
2020-02-26 12:12:31 +03:00
Stanislav Erokhin e3225469b5 Fix typo in Copyright since year 2020-01-29 15:01:23 +03:00
Stanislav Erokhin 075eea5a96 Update year and fix inconsistency with LICENSE.txt 2020-01-28 20:05:44 +03:00
Stanislav Erokhin 607249e899 Make computeTasksAndResolveCall public for compiler plugins 2019-10-30 16:44:38 +03:00
Stanislav Erokhin 352a4dc836 Added extension points to the second compiler.xml
This is a workaround for KT-34528.
Extension points from 26728711
2019-10-23 18:14:35 +03:00
Stanislav Erokhin 84aff5f630 Add some changes to introduced extension points 2019-10-17 04:41:29 +03:00
Stanislav Erokhin b5a407371c Update the year in LICENSE.txt 2019-08-15 13:31:09 +03:00
Stanislav Erokhin 2cc6bf31e0 Add link to license folder into README.md 2019-07-18 13:20:55 +03:00
Stanislav Erokhin 14c93c7c0e Remove obsolete ant build file: build-docs.xml 2019-03-05 12:54:02 +03:00
Stanislav Erokhin be79aeafa7 Create first draft of AbstractStrictEqualityTypeChecker 2019-03-04 17:10:46 +03:00
Stanislav Erokhin f7702d3e43 Create new core module: type-system 2019-03-04 17:10:45 +03:00