Denis Zharkov
bbbc910e02
Load additional built-in classes constructors from JDK
...
#KT-9194 In Progress
#KT-5175 In Progress
#KT-10370 In Progress
#KT-7127 In Progress
2016-04-25 17:41:08 +03:00
Denis Zharkov
5bc5722051
Load additional JDK functions into built-ins member scope
...
#KT-5990 Fixed
#KT-7127 Fixed
#KT-10370 Fixed
2016-04-25 17:41:08 +03:00
Denis Zharkov
137847e0c9
Minor. Refactor DeserializedMemberScope.addNonDeclaredDescriptors
2016-04-25 17:41:08 +03:00
Denis Zharkov
51a4b81d3e
Minor. Rename AdditionalSupertypes -> AdditionalClassPartsProvider
...
And relevant methods
2016-04-25 17:41:08 +03:00
Stanislav Erokhin
45ac1d2cb5
Refactoring. Remove FlexibleTypeFactoryDeserializer.
2016-04-25 15:28:49 +03:00
Stanislav Erokhin
0a4ad3f267
Refactoring. Rename FlexibleTypeCapabilities -> FlexibleTypeFactory. Also use factory.create instead of DelegatingFlexibleType.create.
2016-04-25 15:28:46 +03:00
Alexander Udalov
d571512f47
Remove unnecessary fields in DeserializedClassDescriptor
2016-04-14 21:08:36 +03:00
Alexander Udalov
e0dd60c57a
Expand code for boolean fields in Flags
...
Push flag index computation logic from FlagField down to subclasses
(BooleanFlagField and EnumLiteFlagField) because in the case of
BooleanFlagField it's trivial
2016-04-14 21:08:36 +03:00
Alexander Udalov
1f3850da6e
Store outer class in ProtoContainer instead of only its kind
2016-04-14 21:08:36 +03:00
Alexander Udalov
8ee278d02f
Fix SourceElement for classes loaded in decompiler
2016-04-14 21:08:36 +03:00
Alexander Udalov
88106bb13b
Get rid of BinarySource interface, use SourceElement instead
2016-04-14 21:08:36 +03:00
Alexander Udalov
ad068ed4ac
Do not call findKotlinClass when loading class annotations
...
The main change is in AbstractBinaryClassAnnotationAndConstantLoader, where we
no longer perform unnecessary IO operations for classes which are already
loaded to memory
2016-04-14 21:08:36 +03:00
Alexander Udalov
7620d66019
Minor, rename PackagePartSource -> BinarySource
2016-04-14 21:08:36 +03:00
Alexander Udalov
ac92be12c6
Minor, take ProtoContainer in AnnotationAndConstantLoader#loadClassAnnotations
2016-04-14 21:08:36 +03:00
Alexander Udalov
2ab68d53fa
J2K KotlinJvmBinaryClass & AnnotationAndConstantLoader: convert
2016-04-14 21:08:36 +03:00
Alexander Udalov
9c7e4f3dcc
J2K KotlinJvmBinaryClass & AnnotationAndConstantLoader: rename .java -> .kt
2016-04-14 21:08:36 +03:00
Alexander Udalov
11d875ca17
Fix deadlock in StaticScopeForKotlinEnum
...
Also fix possible deadlock in ReflectionTypes
#KT-11869 Fixed
2016-04-12 20:03:51 +03:00
Alexander Udalov
0ea3b4ade4
Fix multiple resource leaks by closing InputStream instances
...
The main fix is in BuiltInsPackageFragment, the rest is the improvement of
other usages of getResourceAsStream
#KT-11433 Fixed
2016-03-30 21:41:43 +03:00
Alexander Udalov
8d64ed7f3f
Do not produce error classes for not found annotations
2016-03-28 14:13:59 +03:00
Alexander Udalov
e915e1548c
Fix multiple 'unresolved java classifier' errors
...
Use the same component (NotFoundClasses) as in loading of compiled Kotlin
symbols.
Some tests were changed to avoid a diagnostic that is now reported when a
non-found class is encountered in a signature (e.g. staticMethod.1.java where
JDK seems to be not configured)
#KT-10493 Fixed
#KT-10820 Fixed
#KT-11368 Fixed
2016-03-28 14:13:59 +03:00
Alexander Udalov
873cf439de
Drop MissingDependencyErrorClass and related code
...
No longer needed because of the proper support for missing classes in
deserialization (see NotFoundClasses.kt)
2016-03-28 14:13:59 +03:00
Alexander Udalov
accf80a624
Do not create error types in deserialization on not found classes
...
For a class which cannot be resolved in the current deserialization session,
create a special ClassDescriptor instance with an empty scope and put in the
correct package under the current module. Codegen will perfectly map such class
to its JVM signature (because only the precise FQ name is needed, which is
available). For more details on this approach, see the issue description.
#KT-4328 Fixed
#KT-11497 Fixed
2016-03-28 14:13:59 +03:00
Denis Zharkov
78c9dffe00
Refine return type of MemberScope.getContributedFunctions
2016-03-16 20:22:58 +03:00
Denis Zharkov
b8b48c5f98
Extract common logic into AbstractTypeConstructor
...
Mostly it's about detecting loops in supertypes
Test data changes:
- Loops are being disconnected in Java classes too
- functions.kt: loops disconnection mechanism runs supertypes calculation,
so when we start check T it forces F' supertypes calculation, that ends
with CYCLIC_GENERIC_UPPER_BOUND reported on F
#KT-11287 In Progress
2016-03-10 16:49:00 +03:00
Alexander Udalov
4553afbd0c
Make PropertyAccessorDescriptor#hasBody a front-end utility
2016-03-03 16:08:18 +03:00
Alexander Udalov
f82ec6711d
Remove SerializedResourcePaths and BuiltInsSerializedResourcePaths
...
Most of members now only make sense for JS, move the rest to
BuiltInSerializerProtocol
2016-02-26 11:29:10 +03:00
Alexander Udalov
996c5848c2
Simplify deserialization components for built-ins and JS
2016-02-26 11:29:10 +03:00
Alexander Udalov
1a5a077bd6
Replace map + filterNotNull -> mapNotNull in project
2016-02-20 19:05:30 +03:00
Alexander Udalov
1eeb72e073
Do not create empty static scope instances for non-enum classes
2016-02-19 22:28:44 +03:00
Dmitry Petrov
30c2abba3c
KT-9550: distinguish signature conflict on override from signature conflict of inherited members.
...
Add a common OverridingStrategy class for cases where we don't care (yet) about precise diagnostics.
2016-02-19 15:59:08 +03:00
Pavel V. Talanov
1800e5a7db
Remove some usages of Name.guess (and rename this utility to discourage new usages)
2016-02-15 13:32:42 +03:00
Pavel V. Talanov
7d98103c0c
overriddenDescriptors is empty for java static property and function declarations
...
Fake overrides are still created for java static with non-empty overriddenDescriptors
Add tests for inheriting visibility for java static members
Add test: check that java static declarations that shadow deprecated declarations should not be deprecated
Add test for corner case where "overriding" java static constant led to incorrect type in inheritor
Fix test data for existing tests
2016-02-11 14:08:14 +03:00
Pavel V. Talanov
7e78e8d8ab
Refactor: Move and rename OverridingUtil.DescriptorSink -> OverridingStrategy
2016-02-11 14:08:13 +03:00
Ilya Gorbunov
744a7a83f7
Cleanup RC deprecations in compiler and plugin.
2016-01-27 18:34:30 +03:00
Alexander Udalov
0b7d2e3a68
Do not write old callable proto flags, use only new ones
2016-01-22 05:51:14 +03:00
Alexander Udalov
4bd1d064bb
Do not load built-ins in old format, drop class_name extension
2016-01-19 18:39:59 +03:00
Alexander Udalov
693a9c9453
Write new flags to proto messages for callables
...
This is needed to get rid of two unused bits: Flags.RESERVED_1 and
Flags.RESERVED_2. The old flags are still there temporarily because of the
bootstrap dependency on built-ins. Soon the old flags will be dropped and the
current flags will be transformed to the new format
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
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
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
Alexander Udalov
697228eae0
Mark enum entry names as name ids for incremental compilation purposes
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
fc74759231
Drop old enum entries from binary format
2015-12-25 20:16:18 +03:00
Alexander Udalov
b4addd0567
Move builtins-related logic from DeserializedPackageFragment to BuiltinsPackageFragment
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
Alexander Udalov
906d706961
Deserialize builtins from new message
2015-12-25 20:16:18 +03:00
Alexander Udalov
7592f31596
Serialize built-ins to separate file .kotlin_builtins
2015-12-25 20:16:18 +03:00
Alexander Udalov
07a23cab10
Minor, make SerializedResourcePaths an interface
2015-12-25 20:16:18 +03:00
Alexander Udalov
e67318e049
Minor, add DescriptorUtils.isClassOrEnumClass
2015-12-23 16:45:26 +03:00