Denis Zharkov
92bd6880da
Add AdditionalBuiltInsMembers language feature and relevant checks
2016-06-09 17:57:15 +03:00
Stanislav Erokhin
de97bc2a05
Minor. simplified creation of simple type with default scope.
2016-06-09 12:58:16 +03:00
Stanislav Erokhin
0bec639b07
Introduce LazyWrappedType.
2016-06-09 12:58:14 +03:00
Stanislav Erokhin
7a5469faa4
Minor. rename LazyJavaTypeResolver -> JavaTypeResolver.
2016-06-09 12:58:12 +03:00
Stanislav Erokhin
c30754ae3c
Remove laziness from LazyJavaTypeResolver.
...
This laziness was removed because main client of JavaTypeResolver is LazyJavaMemberScope. And this scope run enhance signatures which run resolve for this types.
2016-06-09 12:58:10 +03:00
Stanislav Erokhin
e5aa8ebe7c
Minor. simplify code.
2016-06-09 12:58:09 +03:00
Stanislav Erokhin
8c2ad82de7
Minor. fixes after review
2016-06-09 12:58:07 +03:00
Stanislav Erokhin
dd362f683c
Corrected util method getFunctionTypeForSamType for flexible types.
2016-06-09 12:58:03 +03:00
Stanislav Erokhin
a6da15f8e2
Minor. remove several methods from TypeUtils
2016-06-09 12:58:02 +03:00
Stanislav Erokhin
f41c8dc045
Refactoring. Removed several usages of asSimpleType
2016-06-09 12:58:00 +03:00
Stanislav Erokhin
1d9ca06b96
Remake KotlinTypes.
2016-06-09 12:57:59 +03:00
Stanislav Erokhin
4c0572fb2f
Remove type capability CustomTypeVariable.
2016-06-09 12:57:56 +03:00
Stanislav Erokhin
203c4cd94d
Remake Raw type representation.
...
(cherry picked from commit b21cede)
2016-06-09 12:57:53 +03:00
Stanislav Erokhin
1eaefa7fed
Refactoring. Remove type capability Flexibility.
2016-06-09 12:57:50 +03:00
Stanislav Erokhin
669558c4ba
Refactoring. Move flexible type factory to deserialization module.
2016-06-09 12:57:48 +03:00
Stanislav Erokhin
7bc2c55d12
Refactoring. Create WrappedType.
2016-06-09 12:57:46 +03:00
Stanislav Erokhin
957bae18be
Refactoring. Move flexible type creation to KotlinTypeFactory.
2016-06-09 12:57:44 +03:00
Stanislav Erokhin
3a451744c5
Introduce KotlinTypeFactory
2016-06-09 12:57:43 +03:00
Denis Zharkov
7dda2d9f62
Add ability to set up source element when copying descriptor
2016-06-08 18:53:16 +03:00
Denis Zharkov
329fb9d619
Introduce 'coroutine'/'suspend' modifiers
2016-06-08 18:53:16 +03:00
Mikhail Glukhikh
31cdc917d7
Source code cleanup: leaking this quick fixes applied
2016-06-03 14:46:11 +03:00
Dmitry Petrov
32f61c3918
KT-11588 Type aliases
...
Deserialization
2016-05-20 14:17:25 +03:00
Mikhail Glukhikh
ebd57fafd7
Cleanup: val can be parameter
2016-05-20 13:38:42 +03:00
Stanislav Erokhin
74bddcfb70
Refactoring. Convert Annotated to kotlin.
2016-05-20 09:32:55 +03:00
Stanislav Erokhin
450ea78b1d
Refactoring. Convert KotlinType to kotlin.
2016-05-20 09:32:54 +03:00
Stanislav Erokhin
8c2d68fff0
Refactoring. Move specificity relations into TypeSpecificityComparator component.
2016-05-20 09:32:53 +03:00
Denis Zharkov
46ac26147b
Annotate with @UnsafeVariance relevant types in built-ins
2016-05-18 19:21:38 +03:00
Denis Zharkov
9dc47d9a11
Move java/util/List.sort to MutableList
2016-05-16 15:38:13 +03:00
Denis Zharkov
e90c92f8d3
Separate additional built-in members from JDK into three groups
...
- White list: can be used as common built-in declaration
- Black list: can be used only for overrides and super-calls-
- Not considered members: ones that is not in black or white list.
Such members can be used in any context, but they usages marked as deprecated
Third kind is needed to make possible use declarations added in future JDK versions.
Deprecation is necessary because they may get into black list in next Kotlin compiler version
2016-05-16 15:38:13 +03:00
Denis Zharkov
1501a042e9
Add possibility to add annotations when building FunctionDescriptor copy
...
It's being used in next commits to add Deprecated annotation
to unknown additional built-ins members
2016-05-16 15:38:13 +03:00
Mikhail Glukhikh
733f3e8025
Code cleanup: type parameters can have in / out variance
2016-05-13 17:57:02 +03:00
Alexander Udalov
17dacb1efa
Revert "Minor, move SpecialNames.isSafeIdentifier check a little earlier"
...
This reverts commit a3055edda9 .
It turns out, this re-introduces an AssertionError at ClassId.<init> ("Class
name must not be root") when LazyJavaPackageScope#getContributedClassifier is
called during SAM constructor resolution below in
LazyJavaPackageScope#computeNonDeclaredFunctions, which was overlooked at the
time the commit was pushed
2016-05-04 17:41:49 +03:00
Denis Zharkov
c30c695a18
Use cache for custom ClassDescriptors
...
Otherwise new ones are being created for each request, and their member scope is recomputed
2016-05-04 14:58:05 +03:00
Alexander Udalov
a3055edda9
Minor, move SpecialNames.isSafeIdentifier check a little earlier
2016-04-29 15:21:26 +03:00
Alexander Udalov
785877d1de
Combine Java package scope and Kotlin scopes in JvmPackageScope
...
Use it in LazyJavaPackageFragment#scope instead of a weird lazy chained scope.
Also move lookup tracker records to it, to prevent them from being written in
each package scope individually (this was hurting performance)
2016-04-29 15:21:26 +03:00
Denis Zharkov
d259b91143
Add MutableMap.remove(K, V) as built-in declaration
...
Use PlatformDependent annotation to guarantee it's only be available for JDK8
Also adjust type-safe bridges and mutable collection stubs generation
2016-04-29 15:08:54 +03:00
Denis Zharkov
55c4f875c8
Use signatures instead of fq-names in special built-ins
...
It's necessary to distinguish overloads,
e.g. MutableMap.remove now has two versions
2016-04-29 15:08:54 +03:00
Valentin Kipyatkov
b551886889
Code cleanup: removed redundant semicolons
2016-04-29 11:26:25 +03:00
Stanislav Erokhin
926da77abe
Refactoring. Remove getSubstitution from KotlinType.
2016-04-27 14:13:59 +03:00
Stanislav Erokhin
5fe48313e9
Refactoring. Merge CustomSubstitutionCapability, CustomFlexibleRendering and RawTypeTag into RawTypeCapability.
2016-04-27 14:13:58 +03:00
Denis Zharkov
fc25d70edc
Expand JVM built-ins blacklist
...
Add Enum.getDeclaringClass, Enum.finalize and List.sort
2016-04-25 17:41:08 +03:00
Denis Zharkov
62f2bddda9
Add AdditionalBuiltInsMembersSignatureListsTest
...
This test checks that every signature listed within
JvmBuiltInsAdditionalClassPartsProvider corresponds to some real JDK member
2016-04-25 17:41:08 +03:00
Denis Zharkov
7d729a1fe0
Minor. Inline helper properties
2016-04-25 17:41:08 +03:00
Denis Zharkov
9bf2538e4c
Introduce predefined enhancement info
...
It can be used to specify enhanced signature for standard JDK methods
without them be actually annotated
#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
3bda613317
Minor. Rename BuiltInClassesAreSerializableOnJvm -> JvmBuiltInsAdditionalClassPartsProvider
2016-04-25 17:41:08 +03:00
Denis Zharkov
2819c69bc1
Introduce BLACK_LIST_CONSTRUCTOR_SIGNATURES
...
To prevent loading senseless constructors to built-in classes from JDK
2016-04-25 17:41:08 +03:00
Denis Zharkov
1efed64014
Use JVM signatures instead of FQ-names for additional built-ins
2016-04-25 17:41:08 +03:00
Denis Zharkov
8cf29ea4f3
Extract JVM descriptors type mapping from backend to core
...
Also unbind it from ASM types
2016-04-25 17:41:08 +03:00
Denis Zharkov
12bbbb6ff1
Refactor Java resolver components
...
- Move components from LazyJavaResolverContext to JavaResolverComponents
- Drop LazyJavaClassResolver replacing it's usages with module resolver
(now enum entries from another module as annotation arguments are being resolved, see test)
2016-04-25 17:41:08 +03:00
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