Commit Graph

20 Commits

Author SHA1 Message Date
Stanislav Erokhin
59efedf610 Rename platform to header. 2016-12-13 18:00:00 +03:00
Alexander Udalov
751949db69 Support platform/impl modifiers for classes
Do not report "unused parameter" for parameters of platform declarations. Do
not allow platform class constructors to have val/var parameters or have an
explicit delegation call to another constructor. Do not allow platform classes
to have 'init' blocks.

Also suppress the "supertype not initialized" error for platform classes: the
supertype should be initialized in the impl class
2016-11-25 20:50:19 +03:00
Dmitry Petrov
753a558bcb KT-14352 Record short reference to companion object via type alias,
so that it would be checked properly.
2016-10-17 10:11:58 +03:00
Dmitry Petrov
e7ca00d91b Support @SinceKotlin annotation for type aliases. 2016-10-13 17:52:21 +03:00
Ilya Chernikov
846797ff61 Switch to templates in the separate script runtime 2016-10-12 15:38:52 +02:00
Alexander Udalov
777004a0e2 Fix test data after merge 2016-10-12 12:52:38 +03: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
2e4592c6dc Report error on bound callable references in compatibility mode
Previously examples were failing with IllegalStateException from JVM back-end
because there was an error type without any error reported
2016-10-11 17:30:10 +03:00
Alexander Udalov
73652f309f Do not create synthesized equals/hashCode/toString in data classes in compatibility mode
To simplify migration from 1.0 to 1.1, do not allow data classes to
automatically implement abstract equals/hashCode/toString declared in
super-interfaces (KT-11306) if "-language-version 1.0" is specified
2016-10-04 10:24:41 +03:00
Mikhail Zarechenskiy
0ba2d374bc Create standard script definition from standard template
Now each script without specified template has a StandardSriptTemplate
class as a base one. This allows to generalize script codegen and
resolve.
2016-09-20 15:44:44 +03:00
Alexander Udalov
090d157f86 Update test data for data classes 2016-09-15 16:45:48 +03:00
Michael Bogdanov
8d2ffb2dab Fix wrong "InlineProperties are unsupported at this language level" error on inline functions when inline properties are disabled 2016-09-07 17:39:09 +03:00
Alexander Udalov
191dfa1f2b Minor, add test that language feature settings are used in local analysis
This test checks that the correct LanguageFeatureSettings instance (not
LanguageVersion.LATEST) is being passed to
createContainerForLazyLocalClassifierAnalyzer
2016-07-05 19:54:16 +03:00
Mikhael Bogdanov
853c4d4453 Added language feature check for inline properties 2016-06-24 17:05:52 +03:00
Alexander Udalov
e68de436bb Allow data classes to inherit from other classes
#KT-10330 Fixed
2016-06-22 21:35:57 +03:00
Mikhail Glukhikh
4b6b35dadf Type parameter is considered capable of taking any value for the purpose of cast possibility check #KT-6611 Fixed 2016-06-08 15:25:34 +03:00
Alexander Udalov
d90b40c661 Use LanguageFeatureSettings instead of custom option for bound callable references 2016-06-07 12:41:29 +03:00
Mikhael Bogdanov
bdc0b6b308 Local delegated properties moved to language feature option 2016-05-31 15:27:55 +03:00
Alexander Udalov
7cb61b81ab Minor, capitalize language feature names in tests
To simplify textual search across the codebase
2016-05-26 22:21:22 +03:00
Alexander Udalov
331a6ee414 Use LanguageFeatureSettings instead of JVM option for top level sealed classes 2016-05-26 22:15:39 +03:00