Commit Graph

242 Commits

Author SHA1 Message Date
Zalim Bashorov 8cf44e9f36 KJS: increase ABI version 2017-01-18 14:40:56 +03:00
Mikhael Bogdanov 7a27a9d51f Propagate 'CompilerConfiguration' to frontend checkers 2017-01-18 10:23:40 +01:00
Alexey Tsvetkov bdae0b5efb Fix the build 2017-01-13 15:08:12 +03:00
Alexander Udalov e3f4b6e77e Do not allow to use suspend functions in 1.0.6+ 2017-01-13 11:53:52 +03:00
Alexander Udalov 8f9ce5d0f2 Fix some issues in script constructor param/arg matching 2017-01-11 19:28:51 +03:00
Mikhail Zarechenskiy e448695578 Introduce language feature for refined sam adapters priority 2016-12-27 16:44:23 +03:00
Mikhail Zarechenskiy 35e732a97f Place inference from getters under the language feature 2016-12-20 14:14:19 +03:00
Alexey Sedunov eac0c9b2ed Kotlin Facet: Add "Use project settings" option 2016-12-19 18:27:47 +03:00
Mikhail Zarechenskiy 664485f4bb Introduce keys to control applicability of coroutines
By default now we produce warnings on coroutines
2016-12-15 23:58:07 +03:00
Alexander Udalov feeed98323 Introduce SinceKotlinInfo, load from serialized metadata
This is a way for future compilers to cause previous compilers to report
diagnostics on usages of some declarations. Diagnostic can have a message
(and/or error code), level (error, warning, or completely hide the declaration
from the resolution), and Kotlin version, since which the diagnostic should no
longer be reported
2016-12-15 11:46:17 +03:00
Ilya Chernikov d78fc50e90 Fix after review 2016-12-15 07:26:08 +01:00
Ilya Chernikov b1cd98f2d5 Refactor and fix script annotation processing 2016-12-15 07:26:07 +01:00
Dmitry Petrov 1866a33781 Check classpath version consistency.
Add 'Kotlin-version' attribute to kotlin-runtime and kotlin-reflect JARs.
2016-12-13 21:08:59 +03:00
Alexey Andreev 52347aa901 JS: increase JS metadata version due to some breaking changes (JsModule, for example) 2016-12-13 14:00:10 +03:00
Stanislav Erokhin 9dc9fb578f Rename toDelegateFor to provideDelegate. 2016-12-12 23:14:07 +03:00
Dmitry Petrov 2ee31916c7 'createDelegate' operator renamed to 'toDelegateFor' 2016-12-12 23:13:55 +03:00
Dmitry Petrov e2ba288323 'createDelegate' operator convention:
- resolution & inference
- additional diagnostic for language feature support
2016-12-12 23:13:54 +03:00
Yan Zhulanow c705f0c437 NoArg: Add IDE integration 2016-12-09 20:01:14 +03:00
Yan Zhulanow 6abde4223b AllOpen: Add IDE integration 2016-12-09 20:01:07 +03:00
Mikhail Zarechenskiy 97ca51381a Gradual migration of operator 'mod' to 'rem'
- Introduce new 'rem' operator convention
 - Prefer 'rem()' to 'mod()' when both are available, even if mod() is a
   member, and rem() -- an extension
 - Place operator 'rem' under the language feature
2016-12-09 16:43:35 +03:00
Mikhail Zarechenskiy 8c1e165f18 Skip property accessors for constants
- Inline protected constants from Java at use sites
 - Do not create accessors for private constants in Kotlin

 #KT-11734 In Progress
2016-12-05 22:10:14 +03:00
Mikhail Zarechenskiy 160d43fe2e Introduce new feature: division by zero in constant expressions 2016-12-02 17:42:56 +03:00
Alexander Udalov 204873edf2 Support "-Xno-check-impl" argument, check only real declarations
Use "-Xno-check-impl" to suppress checking whether the platform declaration
implementation has the "impl" modifier.

Do not check presence of fake overrides from platform class in the impl class,
otherwise there would be a lot of errors about the fact that
equals/hashCode/toString are not marked with the "impl" modifier
2016-11-25 20:50:29 +03:00
Alexander Udalov 73f872172f Add multi-platform projects as experimental language feature 2016-11-22 18:19:01 +03:00
Alexey Sedunov e59754e86c Kotlin Facet: Configure facet automatically on Maven project import 2016-11-22 11:54:09 +03:00
Dmitry Jemerov 7beee33f05 Read bundled runtime version from build.txt in 'kotlinc' directory, not from plugin version 2016-11-14 18:51:36 +01:00
Ilya Chernikov 6e96d192bf Move incremental components to compller util to reduce dependencies of compiler interface modules 2016-11-09 11:09:32 +01:00
Mikhail Zarechenskiy 3df5efb236 Introduce language feature: underscores in numeric literals
#KT-2964 Fixed
2016-11-08 19:04:53 +03:00
Alexey Sedunov 30d08c989d Kotlin Facet: Use facet configuration to provide language version for IDE analyzer 2016-11-07 20:03:30 +03:00
Alexey Sedunov a2948a624f Kotlin Facet: Reuse JvmTarget and LanguageVersion in facet configuration 2016-11-07 20:03:28 +03:00
Denis Zharkov 6491d3fbac Do not report DSL scope violation error when language-version is 1.0
#KT-11551 Fixed
2016-11-01 15:58:14 +03:00
Denis Zharkov 09dc207052 Add SingleUnderscoreForParameterName language feature 2016-10-24 18:00:02 +03:00
Zalim Bashorov 3513cef779 KJS: increase JS binary version since name mangling slightly changed 2016-10-19 12:57:46 +03:00
Ilya Chernikov 846797ff61 Switch to templates in the separate script runtime 2016-10-12 15:38:52 +02:00
Alexander Udalov 167ab1f860 Introduce "-api-version" CLI option
The `@SinceKotlin("X.Y.Z")` annotation now hides a particular declaration from
resolution when the API version specified by the `-api-version` option is
_less_ than X.Y.Z. The comparison is performed as for versions in Maven:
MavenComparableVersion is in fact a copy of
org.apache.maven.artifact.versioning.ComparableVersion.

Also support "!API_VERSION" directive in diagnostic tests

 #KT-14298 Fixed
2016-10-11 17:46:01 +03:00
Alexander Udalov 8d660c2f6e Refactor gradle option generation mechanism
Ensure there's a statically checked dependency on LanguageVersion and
JvmTarget, so that this information is updated automatically once a new
language version or a JVM target is added
2016-10-11 17:30:15 +03:00
Alexander Udalov 2c66d4e59b Move LanguageVersionSettings and JvmTarget to module 'util'
To be used from cli-common in the subsequent commits
2016-10-11 17:30:14 +03:00
Yan Zhulanow 824b778a7b Kapt: support multiple annotation processing steps (KT-13651)
(cherry picked from commit 880e183)
2016-09-10 17:36:15 +03:00
Alexander Udalov aaf618e035 Minor, inline HashSetUtil#symmetricDifference 2016-07-25 15:55:31 +03:00
Alexander Udalov 475fb6e8a7 Simplify OverrideResolver#filterOverrides
- move source vs binary equivalent call filtering hack to
  ResolutionResultsHandler (see c4778bfe5a for
  the original commit introducing this behavior)
- rewrite the algorithm so that it doesn't need noDuplicates in the beginning:
  modulo the hack above whish is only needed in ResolutionResultsHandler,
  descriptor equivalence is checked anyway in OverrideResolver#overrides
2016-07-25 15:55:31 +03:00
Denis Zharkov ea7496044e Minor. Move KotlinFrontEndException to frontend module 2016-07-04 18:16:06 +03:00
Alexey Andreev 33248e7721 KT-3008: minor code style fixes 2016-06-27 15:33:31 +03:00
Alexey Andreev 97605a97da KT-3008: multiple minor fixes after code review 2016-06-27 15:33:28 +03:00
Ilya Gorbunov 644df89dc9 CLI: Allow to specify JDK for classpath building with '-jdk' compiler argument.
Maven: support jdk parameter linked to kotlin.compiler.jdk property.
Gradle: support jdk compiler option.
2016-06-23 22:46:07 +03:00
Alexander Udalov d8db769823 Use empty list instead of ThrowingList in callable reference resolution
Clients of the call resolution do not expect to see a throwing list in call's
arguments, and it's wrong to make each of them check against the special case
that is the resolution of callable references

Fixes EA-69901
2016-06-07 12:42:45 +03:00
Alexander Udalov a95568eedf Minor, make Services#get return type nullable 2016-05-27 19:40:50 +03:00
Stanislav Erokhin c4778bfe5a Fixed type checking recursive problem.
#KT-11995 Fixed
2016-05-20 09:26:56 +03:00
Mikhail Glukhikh 1301d9047d Code cleanup: redundant visibility (minor) 2016-05-13 17:57:08 +03:00
Mikhail Glukhikh 733f3e8025 Code cleanup: type parameters can have in / out variance 2016-05-13 17:57:02 +03:00
Alexander Udalov 7e17482698 Delete kotlin-jdk-annotations and kotlin-android-sdk-annotations
They were empty anyway for a long time
2016-01-28 21:48:16 +03:00