Commit Graph

48766 Commits

Author SHA1 Message Date
Leonid Startsev 3eb10823d4 Maven serialization plugin 2018-09-07 21:16:47 +03:00
Leonid Startsev 8cacaecf90 Changed serialization gradle plugin build to gradle
Env variable for idea SDK on TeamCity
Fix kotlin_root dir relative path

Updated broken API after rebase to 1.1.50

Bintray upload setup
2018-09-07 21:16:46 +03:00
Leonid Startsev ef11fb5857 Js synthetic generation plugin.
Fix for JS frontend resolving

Generating serialClassDesc property and save method (w/o virtual calls).

JS Serialization: Load function and synthetic constructor

User-defined serial annotations support

Reference array serialization in JS

Reference array serializer now requires KClass instance as first constructor argument

Finding enum serializer in common module for support in JS
2018-09-07 21:16:46 +03:00
Leonid Startsev 841693643a KotlinX serialization plugin applied onto latest master
IntelliJ project, ant task and maven goal for serialization plugin
Serialization IDEA plugin
2018-09-07 21:16:45 +03:00
Simon Ogorodnik 6b5dcf6ae7 Add extension point to recognize library kind 2018-09-07 20:55:30 +03:00
Dmitriy Dolovov 08a66b61c2 Create built-ins via ProjectContext instead of GlobalContext 2018-09-07 20:55:30 +03:00
Dmitriy Dolovov d8937936a9 MPP: recognize source sets from Gradle project model (refactoring) 2018-09-07 20:55:30 +03:00
Mikhail Glukhikh 5e3fd189a4 MPP: make platformByCompilerArguments a bit safer 2018-09-07 20:55:30 +03:00
Dmitriy Dolovov 5633d86cb2 MPP: extend IdePlatformKind EP & determine it by CommonCompilerArguments 2018-09-07 20:55:29 +03:00
Mikhail Glukhikh 2e29a581f2 KotlinFacetEditorGeneralTab refactor: use chosenPlatform when possible 2018-09-07 20:55:29 +03:00
Dmitriy Dolovov 622c9bedad MPP: fix bug with displaying empty Kotlin targets in facet settings 2018-09-07 20:55:29 +03:00
Nikolay Krasko b4163f953f Add gradle.properties file with new codestyle for new Gradle projects (KT-23400) 2018-09-07 20:15:05 +03:00
Nikolay Krasko 3831ff1d05 Apply Kotlin official code style for projects created from wizards (KT-23400)
- Kotlin templates
- New Java projects with Kotlin support
- Gradle projects with Kotlin support
- Gradle projects with Kotlin DSL
2018-09-07 20:15:05 +03:00
Nikolay Krasko 921af44cb9 Import code style if gradle.properties has kotlin.code.style option (KT-23400) 2018-09-07 20:15:04 +03:00
Nikolay Krasko f94ff3dc26 Implement transition project code style to predefined code style (KT-23400) 2018-09-07 20:15:04 +03:00
Ilya Chernikov fa98b0afac Implement main-kts project and test 2018-09-07 18:47:18 +02:00
Ilya Chernikov 79bad24941 Simple ivy resolver with test 2018-09-07 18:47:18 +02:00
Ilya Chernikov d7f45253d5 Improve noDefaultJar behaviour:
- drop appropriate artifact from all configurations
- clean actions - in addition to task disabling
2018-09-07 18:47:18 +02:00
Zalim Bashorov 24dc8b33cd [JS IR BE] fix compilation of stdlib by IR BE after move coroutine related sources in stdlib 2018-09-07 19:22:35 +03:00
Mikhail Glukhikh 99a2add0e8 SimplifyCallChainFix: build new argument list more accurately
Related to KT-23691
2018-09-07 17:26:23 +03:00
Toshiaki Kameyama 1d2e18e263 SimplifyCallChainFix: Keep comments in place #KT-22552 Fixed 2018-09-07 17:26:15 +03:00
Mikhail Glukhikh 9bc874f647 replacedBaseClauseWithLet: rename & convert parameter to receiver 2018-09-07 17:24:47 +03:00
Mikhail Glukhikh 9ab8f3d7b5 Refactor clauseReplaceableBySafeCall (if-then to safe access) 2018-09-07 17:24:25 +03:00
Mikhail Glukhikh 485e098ced Handle implicit receivers more accurately in if-then to safe access
#KT-26599 Fixed
2018-09-07 17:24:19 +03:00
Mikhail Glukhikh ccb17caf7b Code cleanup: x as? Type ?: return -> if (x !is Type) return 2018-09-07 16:32:19 +03:00
Mikhail Glukhikh ad4da3d761 Code cleanup: convert flatMap { it } into flatten() 2018-09-07 16:32:18 +03:00
Mikhail Glukhikh dead2516c2 Redundant override inspection: don't report for ambiguous derivation
#KT-24405 Fixed
#KT-25883 Fixed
2018-09-07 16:32:11 +03:00
Mikhail Glukhikh 607392a2ab Cleanup code: KotlinRedundantOverrideInspection 2018-09-07 16:32:08 +03:00
Alexander Podkhalyuzin 6cee310c54 Fixed 181 branch 2018-09-07 16:08:51 +03:00
Dmitry Petrov 006c0aa740 Hide constructors accepting inline class parameters 2018-09-07 15:57:59 +03:00
Mikhail Glukhikh 8a5dbe1c6b Move property to constructor: minor refactoring
Related to KT-26015
2018-09-07 14:56:19 +03:00
Toshiaki Kameyama de6fdc5733 Move to constructor: choose property use-site target more precisely
#KT-26015 Fixed
2018-09-07 14:56:17 +03:00
Mikhail Glukhikh 29390dab42 Create actual: use analyzeWithContent to resolve annotations correctly
So #KT-26626 Fixed
2018-09-07 14:56:16 +03:00
Mikhail Glukhikh 26469b3365 Get rid of IndexNotReadyException in CreateActualFix
Related to KT-19586
2018-09-07 14:56:14 +03:00
Mikhail Glukhikh 74c5d8ed09 Create actual: do not generate default parameter values in constructor
So #KT-26517 Fixed
2018-09-07 14:56:13 +03:00
Mikhail Glukhikh ef4053d5c3 Invalidate module source roots in create actual to fix exceptions
Related to KT-19586
2018-09-07 14:56:12 +03:00
Mikhail Glukhikh fe9f655c26 Configure module source roots in create actual fix, if it's necessary
#KT-19586 Fixed
2018-09-07 14:56:11 +03:00
Alexander Podkhalyuzin 873463d24b Fixed deprecated IDEA API
#KT-24931 Fixed
2018-09-07 14:33:22 +03:00
Nikolay Krasko 1f1953cc38 Minor: use common trimIndent() in type hints tests 2018-09-07 12:29:06 +03:00
Nikolay Krasko 307586e435 Don't show types for enum entries with enum name is present in initializer (KT-26057)
#KT-26057 Fixed
2018-09-07 12:29:06 +03:00
Alexander Udalov ab3f8db743 Consider property accessor non-default if it has annotations
Otherwise we're not trying to load annotations on the parameter of the
property setter in MemberDeserializer.loadProperty.

Note that after this commit, we could now also assume that if
getter/setter is default, it has no annotations, and thus use
Annotations.EMPTY for default getter/setter in loadProperty. However,
this would cause reflection to work incorrectly on classes compiled by
an older Kotlin compiler, so we'll still try to load annotations on
default accessors for an indefinite time.

 #KT-25499 Fixed
2018-09-07 11:49:42 +03:00
Alexander Udalov 06ce0cb0f0 Fix deserialization of default property accessor flags
In MemberDeserializer.loadProperty, we incorrectly passed 0 to
getAnnotations when loading annotations on property accessors in case
the protobuf field getter_flags/setter_flags was not present. The
correct behavior, as described in metadata.proto, was to pass a special
"default accessor flags" value, constructed from the main property
flags. Otherwise in case there were annotations both on the property and
on the accessor (as in PropertyAndAccessor.kt) and the accessor was
otherwise default, we would assume that it had no annotations and would
not load them in compiler and reflection

 #KT-25499 In Progress
2018-09-07 11:49:41 +03:00
Alexander Udalov a432704c4f Fix typo in MemberDeserializer.loadProperty when loading inline setters
This could lead to inline setters of properties which have default
getters not being inlined
2018-09-07 11:29:16 +03:00
Dmitry Petrov 65ad93ebe4 Don't generate getter for private or internal inline class primary vals 2018-09-07 10:27:31 +03:00
Dmitry Petrov 8158dd0c83 Update testData for writeSignature tests 2018-09-07 10:25:59 +03:00
Dmitry Petrov cafaa3e13c Mangle inline class members
<IMPL_SUFFIX> for method is a method signature hash,
if method value parameter types contain inline class types,
otherwise 'impl'.

Constructor methods are named as 'constructor-<IMPL_SUFFIX>'.

Synthesized 'box' and 'unbox' methods are named as
'<METHOD_NAME>-<IMPL_SUFFIX>'.

Erased implementations of overriding and non-overriding methods
are named as '<METHOD_NAME>-<IMPL_SUFFIX>'.

Fully specialized implementation of 'equals' will have a special suffix.
2018-09-07 10:25:53 +03:00
Dmitry Petrov aec173ac5c Minor: fix tests after rebase 2018-09-07 09:32:11 +03:00
Dmitry Petrov 427295525a Minor: mute test in JVM_IR 2018-09-07 09:31:33 +03:00
Dmitry Petrov caa49f85ad Minor: drop ERASED_INLINE_CLASS_SUFFIX 2018-09-07 09:31:33 +03:00
Dmitry Petrov 43b4190f7c Test: visibility of inline class members
Also merge in testInlineClassWrapperPrimaryConstructorIsSynthetic
and testInlineClassConstructors.
2018-09-07 09:31:33 +03:00