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
Alexander Udalov
3513a64351
Move utilities about companion property fields to JvmAbi
...
To reuse that logic in reflection
2015-12-25 20:16:18 +03:00
Alexander Udalov
0685f06200
Drop outdated stuff from metadata annotations
...
Make KotlinLocalClass and KotlinInterfaceDefaultImpls not retained at runtime,
to be maybe deleted in the future
2015-12-25 20:16:18 +03:00
Alexander Udalov
0ecf04dcc5
Drop KotlinDelegatedMethod, simplify related code in codegen
2015-12-25 20:16:18 +03:00
Alexander Udalov
39c10867a0
Drop 'index' JVM binary format extension
...
Compute the JVM parameer index manually instead
2015-12-25 20:16:18 +03:00
Alexander Udalov
dc6a176282
Drop old JVM binary format extensions: static in outer, impl class name
2015-12-25 20:16:18 +03:00
Alexander Udalov
fc74759231
Drop old enum entries from binary format
2015-12-25 20:16:18 +03:00
Alexander Udalov
57b96f38a9
Minor, remove/simplify unnecessary utilities in util.runtime
2015-12-25 20:16:18 +03:00
Alexander Udalov
ddcdc11099
Write and read built-ins binary version
2015-12-25 20:16:18 +03:00
Michael Bogdanov
f870e365fa
Removed accessors for const properties
2015-12-25 11:28:10 +03:00
Michael Bogdanov
2e73559f33
Removed 'INSTANCE$' field generation
2015-12-24 13:59:44 +03:00
Michael Bogdanov
aeb6486473
Deprecated 'INSTANCE$' replaced with 'INSTANCE'
2015-12-24 13:59:43 +03:00
Alexander Udalov
a7324ebad2
Minor, additional constructor for JvmPackagePartSource
2015-12-23 16:45:26 +03:00
Alexander Udalov
7170d488bd
Fix package part class name calculation
...
Package part name can contain dollars
2015-12-23 16:45:26 +03:00
Alexander Udalov
cd435c4130
Do not load implClassName JVM proto extension
...
Use JvmPackagePartSource instead for functions/properties in package parts,
check containing class kind for properties in interfaces
2015-12-23 16:45:26 +03:00
Alexander Udalov
03606c13aa
Introduce PackagePartSource to store part class name in deserialized descriptors
...
Not used at the moment, will be in the following commits
2015-12-23 16:45:26 +03:00
Alexander Udalov
51cdb981f4
Remove obsolete code in IncrementalPackageFragmentProvider
2015-12-23 16:45:26 +03:00
Alexander Udalov
f7969621d6
Don't read isStaticInOuter message for fields
...
It's only written for fields of properties of companion objects of classes;
handle that case manually in deserialization
2015-12-23 16:45:26 +03:00
Alexander Udalov
19372a7210
Minor, make ProtoContainer sealed with two subclasses
2015-12-23 16:45:26 +03:00
Stanislav Erokhin
bcaa755c4e
Fix compilation.
...
- rename isFinal extension property to avoid ambiguity with synthetic property in DeserializedClassTypeConstructor
- add explicit parameter to lambda File.listFiles
- return true from lambda Query.forEach
2015-12-18 22:49:26 +03:00
Stanislav Erokhin
c725ed47f5
Replaced ReceiverValue.NO_RECEIVER to null.
2015-12-15 23:09:20 +03:00
Pavel V. Talanov
3f0d71411e
KtDecompiledFile: hack to be able to navigate to builtIns on jvm
...
Which sometimes are loaded differently than they are rendered (see BuiltInClassesAreSerializableOnJvm)
2015-12-15 20:22:06 +03:00
Zalim Bashorov
976fbf32ba
Minor: use List instead of Array as container in chained scopes
2015-12-15 20:07:37 +03:00
Zalim Bashorov
5008a66a5b
ChainedScope -> ChainedMemberScope
2015-12-15 20:07:36 +03:00
Alexander Udalov
6f347f351a
Load annotations on compiled Kotlin enum entries
...
#KT-10339 Fixed
2015-12-13 03:52:42 +03:00
Alexander Udalov
3e2eb8c1a0
Serialize/deserialize annotations on enum entries
...
#KT-10338 Fixed
2015-12-13 03:52:41 +03:00
Denis Zharkov
871fe7680b
Load special override as HIDDEN in case of signature clash
...
#KT-10151 Fixed
2015-12-11 22:41:03 +03:00
Denis Zharkov
45c0bc3610
Add 'subClassDescriptor' parameter to ExternalOverridabilityCondition
2015-12-11 22:41:03 +03:00
Denis Zharkov
417ff281ee
Split getOverriddenBuiltinWithJvmDescriptor into two extensions
2015-12-11 22:41:02 +03:00
Stanislav Erokhin
1dca49cecc
Workaround for tower resolution algorithm in kotlin code. Will be investigated.
2015-12-11 17:01:01 +03:00