Denis Zharkov
86c1dbe7b5
Fix decompilation of types based on local classifiers
...
If deserializing a type with arguments based on a local class for
decompiler, then just return Any type (without arguments).
Previously Any constructor was used with serialized arguments, that lead
to exception
Note that in case of deserialization for compiler nothing changes about
local-classes-based types (LocalClassifierResolverImpl is just inlined)
#KT-13408 Fixed
2016-09-05 17:54:36 +03:00
Ilya Gorbunov
afe1b7eab1
Allow to exclude specific types from packages imported by default.
2016-08-17 12:40:50 +03:00
Alexander Udalov
a7f4037206
Reflection: change order of arguments of inner generic type
...
As in KClassifier.createType and everywhere in the compiler, specify arguments
for the innermost type first. This is more convenient to use because generally
the construction/introspection of such type starts from the innermost class
anyway (i.e. something like generateSequence can be used, without the need to
call .reverse() in the end)
2016-08-08 17:54:11 +03:00
Alexander Udalov
ada81923dc
Reflection: add KClass.isInstance, KClass.cast, KClass.safeCast
...
#KT-11284 Fixed
2016-08-08 17:54:11 +03:00
Alexander Udalov
c1dd831e65
Reflection: add KType.classifier
...
#KT-8998 In Progress
2016-08-08 17:54:11 +03:00
Pavel V. Talanov
30892e0154
KtLightClassForDecompiledDeclaration is now marked by KtLightClassMarker
...
Rename: KtJavaMirrorMarker -> KtLightClassMarker
Introduce code to be able to tell light classes from source and binaries apart in 'frontend.java'
2016-08-03 17:29:06 +03:00
Mikhael Bogdanov
fc8058848f
Added classVersion to KotlinJvmBinaryClass
2016-06-15 13:43:26 +03:00
Dmitry Petrov
32f61c3918
KT-11588 Type aliases
...
Deserialization
2016-05-20 14:17:25 +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
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
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
2ab68d53fa
J2K KotlinJvmBinaryClass & AnnotationAndConstantLoader: convert
2016-04-14 21:08:36 +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
0fd8bec2ef
Convert Java model to Kotlin, put in several files
...
Also move JavaPropertyInitializerEvaluator to ../components/
2016-03-18 14:48:58 +03:00
Alexander Udalov
0d74fc2290
Minor cleanup in Java model: fix warnings, remove unused
2016-03-18 14:48:57 +03:00
Alexander Udalov
0a54464420
Minor, JavaClass#getOriginKind -> isKotlinLightClass
2016-03-18 14:48:56 +03:00
Alexander Udalov
291c713d8b
Cleanup JavaElement model from methods used only in substitutor
...
Downcast everything used in JavaTypeSubstitutorImpl to *Impl, remove methods
from interfaces, inline/move some of them
2016-03-18 14:48:55 +03:00
Alexander Udalov
26bf0dca13
Remove interface JavaTypeSubstitutor, use implementation
...
After 151e55b JavaTypeSubstitutor is only used from inside PSI-based
implementation of Java structure
2016-03-18 14:48:55 +03:00
Denis Zharkov
26081bf817
Support loading Java annotations with TYPE_PARAMETER target
2016-03-16 20:23:01 +03:00
Denis Zharkov
3652cd9c18
Optimize top level class searching in LazyJavaPackageScope
...
Do not try to search something, that is known not to exist
2016-03-02 13:38:46 +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
Alexander Udalov
2a5b4d2c83
Fix annotations on Java elements in reflection
...
#KT-10840 Fixed
2016-01-28 21:48:16 +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
Mikhail Glukhikh
0368631aa3
Source code fix: exposed visibility in object members
2016-01-26 19:04:04 +03:00
Alexander Udalov
b587d3a78d
Use JvmMetadataVersion where appropriate instead of bytecode version
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
cf7f2b762f
Minor, refactor and simplify RuntimePackagePartProvider
...
Lazy was unnecessary because we effectively were immediately evaluating it
after creation anyway
2016-01-17 16:28:22 +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
a9476dfe37
Replace 'kotlin-runtime' in module dependencies with 'util'
2015-12-21 18:46:08 +03:00
Dmitry Petrov
0fe74a8b43
COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT is an ERROR now.
...
Migrated code.
Updated test data in IDE tests.
Dropped whenWithRangeTestsAndMultiConditions.kt:
"Introduce subject" is not applicable to 'when' with ||-ed conditions.
2015-12-11 10:43:16 +03:00
Ilya Gorbunov
5301f3eb46
Fix contains usages in compiler.
2015-11-28 07:21:39 +03:00
Alexander Udalov
9e7e75de12
Rename ExternalSignatureResolver -> SignaturePropagator
2015-11-27 23:34:47 +03:00
Alexander Udalov
8a5b63a669
Inline PLATFORM_TYPES = true, simplify signature propagation
2015-11-27 21:22:04 +03:00
Denis Zharkov
c5103f9ac4
Fix JavaClassifierType.getTypeArguments impls
...
Make them return arguments both for current classifier and for the outer one
2015-11-13 14:47:28 +03:00
Zalim Bashorov
c6aa94d30a
Track lookups in LazyJavaScope ans LazyJavaPackageScope
2015-11-02 18:18:30 +03:00
Zalim Bashorov
81a288b42c
Add LookupTracker to DeserializationComponents
2015-11-02 18:18:28 +03:00
Denis Zharkov
18097c0ab7
Introduce 'SupertypeLoopsResolver' and inject it's impls
2015-10-31 09:33:46 +03:00
Alexey Tsvetkov
5449cea6b7
Make Array type parameter T non-reified
2015-10-14 18:36:53 +03:00
Dmitry Jemerov
1523d5bcbf
removing static type assertions work in progress
2015-10-12 11:11:23 +02:00
Pavel V. Talanov
76029ee9b2
Introduce JvmBuiltIns and DefaultBuiltIns, different instances of KotlinBuiltIns
...
Make KotlinBuiltIns an abstract class
JsPlatform has DefaultBuiltIns
2015-10-01 17:53:14 +03:00
Pavel V. Talanov
0ae842a05d
'descriptors' module exports 'deserialization', not the other way around
...
Also remove some of redundantly specified dependencies
2015-10-01 17:53:13 +03:00
Pavel V. Talanov
22e3e192ee
ModuleDescriptorImpl: remove KBI as default parameter
2015-10-01 17:53:12 +03:00
Zalim Bashorov
94b110936e
Add the ability to get containing source file from SourceElement
2015-10-01 14:37:25 +03:00
Yan Zhulanow
3be050640c
Fix Method.invoke() signature
2015-09-26 03:29:03 +03:00
Michael Nedzelsky
2c952dcc22
Revert "add isKotlinSourceElement method to Source interface in order to recognize kotlin source elements during compilation"
...
This reverts commit c342f6870a .
2015-09-23 17:45:47 +03:00
Michael Nedzelsky
c342f6870a
add isKotlinSourceElement method to Source interface in order to recognize kotlin source elements during compilation
2015-09-23 07:49:21 +03:00