Commit Graph

945 Commits

Author SHA1 Message Date
Denis Zharkov c855d3fad9 Minor. Extract searchMethodsByNameWithoutBuiltinMagic and weaken return types 2015-10-29 18:41:51 +03:00
Denis Zharkov 80bf7316c7 Add 'preserveSource' parameter to methods making substitution copies 2015-10-29 18:41:51 +03:00
Denis Zharkov 4e7731f41f Refactor 'isVisibleAsFunction' to make it work with SimpleFunctionDescriptor
Also inline 'resolveMethodToFunctionDescriptorWithName'
2015-10-29 18:41:50 +03:00
Denis Zharkov ce34550c42 Introduce and implement SimpleFunctionDescriptor.createRenamedCopy 2015-10-29 18:41:50 +03:00
Alexander Udalov 925b0e567e Minor, delete leftovers from package part refactorings 2015-10-28 21:51:19 +03:00
Alexander Udalov d6e87c50ab Don't use TypeIntersector when loading generic Java constructors
This is not entirely type-safe but this case is so rare that hardly anyone will
be able to spot the change
2015-10-28 19:17:56 +03:00
Alexander Udalov d29757d927 Make upper bounds of type parameter a list instead of a set
The same for lower bounds, also refactor type parameter implementations
2015-10-28 19:11:56 +03:00
Alexander Udalov 1ce5f8458c Extract ClassMapperLite, add enlightening comment 2015-10-28 19:11:55 +03:00
Alexander Udalov 8a89662ea5 Remove FqNameBase, simplify FqName and FqNameUnsafe 2015-10-28 19:11:53 +03:00
Alexander Udalov 894a97a549 Rename field for property metadata cache to prevent problems in inline 2015-10-28 19:11:51 +03:00
Mikhail Glukhikh 55c1addb93 Workaround for a part of KT-9700: top-level Java classes with private visibility are considered package private 2015-10-27 18:27:41 +03:00
Dmitry Petrov 09f0b3fe87 KT-9721:
- Kotlin/JS still uses package facades.
Handle them properly in StubClassBuilder parentStack.
- Generate backend-related diagnostics in IDE
using light class generation for file facades.
- Drop PackageFacadeStubCache.
2015-10-26 19:37:52 +03:00
Mikhail Glukhikh d0e01153ec Effective visibility: java package-private is now considered as equivalent to Kotlin internal #KT-9755 Fixed 2015-10-26 15:00:14 +03:00
Alexey Sedunov 9c360ef05a Find Usages: Look for as-property usages of Java methods 2015-10-24 19:50:53 +03:00
Denis Zharkov d674aa1427 Refine signature mapping for special overrrides from Java
They have special JVM descriptor only when they are not inherited from
Kotlin super class
2015-10-21 17:51:43 +03:00
Denis Zharkov f3a652de2f Minor. Add assertion about same modality of accessors 2015-10-21 17:51:43 +03:00
Denis Zharkov c46b766fea Load special property from Java in cases of J-K-J hierarchy 2015-10-21 17:51:43 +03:00
Denis Zharkov e31f751830 Minor. Move hasRealKotlinSuperClassWithOverrideOf to descriptor.loader.java 2015-10-21 17:51:43 +03:00
Denis Zharkov 1413cab1e6 Mixin kotlin.Number methods into j.l.Number member scope
#KT-9672 Fixed
2015-10-20 19:41:58 +03:00
Dmitry Jemerov d6a3870101 rename Kt to Kotlin in KtType, KtIcons 2015-10-20 16:23:31 +02:00
Dmitry Jemerov 49033e0002 rename Jet* classes to Kt* 2015-10-19 21:35:30 +02:00
Alexander Udalov 1c280c96b6 Set binary version to 1.0.0 2015-10-19 22:12:39 +03:00
Alexey Tsvetkov a1d4d099ba Increment jvm abi and stub versions 2015-10-19 20:45:03 +03:00
Alexey Tsvetkov c50aab6a75 Add modifier flags to descriptors 2015-10-19 20:45:01 +03:00
Alexey Tsvetkov f2c69e56d2 Remove @annotation from stdlib and compiler 2015-10-19 20:45:00 +03:00
Alexey Tsvetkov 264bd5235b Add isData() to ClassDescriptor 2015-10-19 20:45:00 +03:00
Dmitry Petrov 621d26aeeb Drop package facades: fix incremental compilation tests & proto comparison tests
(package facades are no longer generated)
2015-10-19 16:03:21 +03:00
Dmitry Petrov f227908151 Drop package facades:
- update incremental compilation tests
2015-10-19 16:03:21 +03:00
Dmitry Petrov 70c91b2e75 Drop package facades:
- getting rid of package facades in InlineCodegen & related stuff.
Provide binary source element to top-level package members.
2015-10-19 16:03:20 +03:00
Dmitry Petrov dc399ac46b Drop package facades: get rid of isPackageClassFqName 2015-10-19 16:03:18 +03:00
Dmitry Petrov d19ce49606 Dropping package facades:
- do not depend on package facade in LazyJavaPackageFragment
2015-10-19 16:03:16 +03:00
Dmitry Petrov 149e70aa07 Dropping package facades:
- light classes: do not generate light class for package facade
- drop package facades as multifile classes compilation mode support
- get rid of some additional package facade fqName usages
- update tests for light classes
2015-10-19 16:03:16 +03:00
Denis Zharkov cc94acdabc Do not load common for special properties from Java
I.e. do not treat getName in Java enum as override of Enum.name
2015-10-17 17:46:17 +03:00
Denis Zharkov d8ede6d03e Transform Enum.values to property 2015-10-17 17:46:16 +03:00
Natalia Ukhorskaya 9168572b8c Write local variable for inline function and inline argument 2015-10-17 17:02:55 +03:00
Yan Zhulanow 9ae3b0fa9c Drop loading Java annotation methods as functions 2015-10-16 22:13:34 +03:00
Svetlana Isakova 25b40455ad Serialize/deserialize annotations on type parameters 2015-10-16 21:58:47 +03:00
Denis Zharkov 032ba44070 Minor. Add optimization for getOverriddenBuiltinWithDifferentJvmName 2015-10-16 18:16:03 +03:00
Denis Zharkov d335f71dfe Generate special bridges for builtins with same name but different JVM descriptor 2015-10-16 18:16:02 +03:00
Denis Zharkov 978a4cfa3c Minor. Refine naming for SpecialBuiltinMembers 2015-10-16 18:16:02 +03:00
Zalim Bashorov 79d38a6c8f Report the error when a declaration in Kotlin accidentally overrides a static member from Java 2015-10-16 16:14:34 +03:00
Alexander Udalov 32a9bddbf9 Increase ABI version after yet another change to binary format 2015-10-15 18:25:42 +03:00
Alexander Udalov 9eb2e16b94 Support strings directly in JVM string table
For small strings it may be beneficial to store them as is in the proto at one
point instead of in a class annotation, because each annotation argument in the
classfile has a constant overhead which may be significant for small strings
2015-10-15 18:25:41 +03:00
Alexander Udalov 82d2e623d3 Support a more optimized way of storing types in metadata
Together with almost every type now there's also an id which references a type
from a separate table. Storing such ids instead of Type messages will allow to
reduce the size of the metadata for files where types are used many times over
and over again. Currently only deserialization of such types is supported,
along with the former mechanism
2015-10-15 18:25:39 +03:00
Dmitry Petrov 8cd624a58a Drop package facades: code cleanup in Kotlin project. 2015-10-15 10:33:47 +03:00
Alexander Udalov bd5f068454 Fix build after subtle change of Enum.name from function to property 2015-10-14 22:00:48 +03:00
Alexander Udalov 3c74f48f91 Pass KProperty instances to property delegates
Inherit KProperty from PropertyMetadata, cache corresponding KProperty objects
instead of PropertyMetadataImpl objects, add support for properties with 2
receivers
2015-10-14 20:45:24 +03:00
Mikhail Glukhikh 4614e74e3f isFromJavaOrBuiltins() is now public (compilation fix) 2015-10-14 20:40:34 +03:00
Mikhail Glukhikh d4a1a469b7 Number rename: xxxValue() --> toXxx(), test 2015-10-14 20:40:21 +03:00
Mikhail Glukhikh f8a356747e Stdlib rename: 'name' and 'ordinal' are now properties in Enum, same name functions are deprecated 2015-10-14 20:40:13 +03:00