Ilya Gorbunov
a12fe2c18a
Do not use inline-only in java
2016-02-01 22:09:17 +03:00
Denis Zharkov
6b33e3fb67
Minor. Rename variables and add assertion
2016-01-29 14:36:53 +03:00
Denis Zharkov
11a96ee8c8
Introduce not null type parameter capability
...
Java nullability annotations may generate types that currently are not denotable in Kotlin:
class Java {
void <F> foo(@NotNull F f) {}
}
Type of given value parameter should be not nullable under any substitution:
String/String?/String! because of annotation contract.
NB: Currently there is no full analogues for such types in pure kotlin
2016-01-28 08:36:23 +03:00
Denis Zharkov
08dd675fcd
Minor. Drop unused property
2016-01-28 08:36:23 +03:00
Denis Zharkov
6542d091ee
Support generic constructors defined in Java
...
#KT-10686 Fixed
#KT-10410 Fixed
2016-01-28 08:35:18 +03:00
Ilya Gorbunov
744a7a83f7
Cleanup RC deprecations in compiler and plugin.
2016-01-27 18:34:30 +03:00
Alexey Tsvetkov
56942930c9
Minor: remove unreachable code
2016-01-27 12:28:44 +03:00
Yan Zhulanow
0304bd1dc1
More precise diagnostic messages about "operator modifier is not applicable"
2016-01-26 17:21:44 +03:00
Denis Zharkov
f560799bb7
Support top level wildcard types
...
#EA-73650 Fixed
2016-01-26 16:41:29 +03:00
Alexander Udalov
7981e5aa3a
Increase metadata version to 1.1, hardcode incompatibility with 1.0
...
Add a temporary option to suppress incompatibility errors when compiling Kotlin
against current IDEA libraries until they are migrated
2016-01-23 10:00:19 +03:00
Stanislav Erokhin
30bb8d4828
Minor. Optimized enhanceSignature method
2016-01-22 22:09:33 +03:00
Stanislav Erokhin
f710ba88f8
Minor. Removed TypeParameterDescriptor#getLowerBounds
2016-01-22 22:09:33 +03:00
Denis Zharkov
d87b13931d
Create special type for missing dependencies when resolving annotations
...
#KT-10748 Fixed
2016-01-22 19:17:22 +03:00
Ilya Gorbunov
e500e4bdf4
Obtain purely implemented interface class descriptor by its fq-name.
2016-01-22 05:54:38 +03:00
Ilya Gorbunov
9c0f0cad70
Packages: move collections to kotlin.collections.
2016-01-22 05:54:38 +03:00
Ilya Gorbunov
9fbbc9db98
Packages: move Ranges, Progression, ProgressionIterators to kotlin.ranges and PrimitiveIterators to kotlin.collections.
2016-01-22 05:54:38 +03:00
Alexander Udalov
e2f49536f5
Move OldPackageFacadeClassUtils to module light-classes
2016-01-19 18:54:08 +03:00
Alexander Udalov
c78bf6c807
Set bytecode version to 1.0.0
...
It was 1.0.2 only because it was introduced as a clone of the metadata version,
which is 1.0.2 at the moment
2016-01-19 18:43:07 +03:00
Alexander Udalov
27dbfc7aef
Rethrow InvalidProtocolBufferException with class file location info
2016-01-19 18:39:59 +03:00
Alexander Udalov
4d93d18af7
J2K DeserializedDescriptorResolver: prettify
2016-01-19 18:39:59 +03:00
Alexander Udalov
3efa51af40
J2K DeserializedDescriptorResolver: convert
2016-01-19 18:39:59 +03:00
Alexander Udalov
432d458c02
J2K DeserializedDescriptorResolver: rename .java -> .kt
2016-01-19 18:39:59 +03:00
Alexander Udalov
b216ed99b4
Simplify UTF-8 decoding, just trivially convert bytes to 16-bit Unicode
...
ASM will do the rest (see ByteVector#encodeUTF8)
2016-01-19 18:39:59 +03:00
Alexander Udalov
9620893fa4
Drop synthetic class kind Function, drop Metadata#xi
2016-01-19 18:39:59 +03:00
Alexander Udalov
aef6d49b48
Drop isLocalClass, do not write KotlinLocalClass
2016-01-19 18:39:59 +03:00
Alexander Udalov
625c46d568
Delete obsolete and unused class_annotation JVM proto extension
2016-01-19 18:39:59 +03:00
Alexander Udalov
6dbd29e6a4
Support decoding of both old and new encoded metadata
2016-01-19 18:39:59 +03:00
Alexander Udalov
5585c7da7f
Minor, simplify utfEncoding, add option to force using 8to7 encoding
2016-01-19 18:39:59 +03:00
Andrey Breslav
fe15984a59
Direct encoding into UTF-8 bytes, without the 8-to-7-bit conversion
2016-01-19 18:39:59 +03:00
Alexander Udalov
a4daa08e5c
Write module name as proto extension instead of another annotation argument
2016-01-19 18:39:59 +03:00
Alexander Udalov
d4c4515944
Refactor BinaryVersion and subclasses, get rid of static factories
2016-01-19 18:39:59 +03:00
Alexander Udalov
e37bd4eba6
Do not write and read KotlinInterfaceDefaultImpls
...
This was only used in InlineTestUtil.kt and had no effect in the condition
2016-01-19 18:39:59 +03:00
Alexander Udalov
7906ac63b5
Read Metadata annotation, support option to ignore old annotations
2016-01-19 18:39:59 +03:00
Alexander Udalov
59dab0a558
Combine all metadata annotations into one kotlin/Metadata
2016-01-19 18:39:59 +03:00
Alexander Udalov
661af854fa
Drop KotlinClassHeader#filePartClassNames, use 'data' instead
2016-01-19 18:39:59 +03:00
Alexander Udalov
b587d3a78d
Use JvmMetadataVersion where appropriate instead of bytecode version
2016-01-19 18:39:59 +03:00
Alexander Udalov
bd47e9d47b
Split JVM binary version into two: metadata and bytecode interface
...
Currently all code only uses the first one (JvmMetadataVersion), later the
bytecode interface version (JvmBytecodeBinaryVersion) will be used only in
codegen and reflection to avoid compiling against or calling methods with
unsupported conventions like default method naming and signature,
getters/setters naming etc.
2016-01-19 18:39:59 +03:00
Alexander Udalov
fc88a0186f
Drop obsolete synthetic class kind in KotlinClassHeader
2016-01-19 18:39:59 +03:00
Alexander Udalov
9552accaec
Introduce BinaryVersion.isCompatible()
...
To decrease the chance to mix up the receiver and the first argument when
checking version compatibility
2016-01-19 18:39:59 +03:00
Alexander Udalov
04d335db15
Move version constants to corresponding BinaryVersion subclasses
2016-01-19 18:39:59 +03:00
Alexander Udalov
2f64680b63
Add several subclasses of BinaryVersion
...
To simplify comparison of expected vs actual versions in the future
2016-01-19 18:39:59 +03:00
Mikhail Glukhikh
7f2624c9a1
Handling of annotations on delegated property in descriptor loader & stub builder
2016-01-19 11:38:58 +03:00
Denis Zharkov
f4613b8db1
Support foreign nullability annotations
...
#KT-10418 Fixed
#KT-10594 Fixed
2016-01-14 19:24:10 +03:00
Denis Zharkov
fd8a718797
Get rid of duplicating annotations FQ names usages
...
E.g. JETBRAINS_NOT_NULL_ANNOTATION were used both in NULLABLE_ANNOTATIONS
and for ANNOTATIONS_COPIED_TO_TYPES
2016-01-14 19:24:10 +03:00
Denis Zharkov
01fd3905be
Minor. Fix typo in package name: typeEnhacement -> typeEnhancement
2016-01-14 19:24:10 +03:00
Dmitry Jemerov
3870bd04b8
core: cleanup 'public', property access syntax
2016-01-07 18:03:09 +01:00
Ilya Gorbunov
911adfd04d
Cleanup in core modules
2015-12-29 18:04:14 +03:00
Ilya Gorbunov
b71b336a69
Fix fq names of moved facade classes in imports and other code occurrences
2015-12-29 18:04:13 +03:00
Michael Bogdanov
e671d05105
Companion public val annotated with @JvmFIeld or const
2015-12-29 16:45:23 +03:00
Denis Zharkov
7aaa6422b4
Introduce CustomSubstitutionCapability.substitutionToComposeWith
...
Mainly it's needed to prevent creation of subsituions composition
everytime we replacing arguments, because it's both unoptimal and wrong
When replace arguments in `A<E, F>` with <String, E> you got `A<String, String>`
as a result, that is unexpected.
But composition is only needed when previous substituion was abnormal
(e.g. RawSubsitution that should actually wrap new arguments), see RawTypes tests
2015-12-28 07:44:55 +03:00