Michael Bogdanov
43af127ce8
new fixes
2015-09-07 16:28:52 +03:00
Michael Bogdanov
ebb1629285
new scope and deserialization
2015-09-07 16:28:49 +03:00
Yan Zhulanow
add13cae82
lateinit modifier on property
2015-09-05 00:54:18 +03:00
Denis Zharkov
4159c83282
Support decapitilized obsolete annotations in resolve
...
Annotations like `deprecated`, `jvmStatic`, etc. has been renamed to capitilized themselves.
But we're going to support both versions.
It's hard just to leave both versions of classes as their class-files can clash
when compiled on register-independent file system.
So here is solution (temporary hack):
we just wrap JetScopes for package fragments of `kotlin.*`
to make them search both versions of annotations if their names are contained
in our hardcoded set.
2015-09-04 18:19:32 +03:00
Alexander Udalov
df935f5bb7
Support reflection on lambdas and function expressions
...
Write a special annotation containing the bytes for the Callable protobuf
message and deserialize it at runtime properly
#KT-9005 Fixed
2015-09-03 21:43:58 +03:00
Yan Zhulanow
e7703df0b6
Use a single AnnotatedCallableKind enum item for property
2015-08-31 15:33:14 +03:00
Yan Zhulanow
3624c4e5dc
Use target priorities to split annotations to different descriptors
2015-08-31 15:33:05 +03:00
Yan Zhulanow
1b9dab47ec
Deserialize property and field annotations
2015-08-31 15:33:03 +03:00
Yan Zhulanow
4ead50352d
Put @receiver-targeted annotations on receiver type
2015-08-31 15:33:01 +03:00
Yan Zhulanow
08c678ef46
Deserialize receiver parameter annotations for extension functions
2015-08-31 15:32:55 +03:00
Yan Zhulanow
2bacbc9046
Support @field: annotations
2015-08-31 15:05:02 +03:00
Zalim Bashorov
3c2762dd1d
Don't track lookups for JetScope::getDescriptors (and JetScope::getAllDescriptors)
2015-08-24 19:50:05 +03:00
Zalim Bashorov
6a3200764f
Don't try to record lookups which already tracked
2015-08-24 19:50:05 +03:00
Zalim Bashorov
0978e9f169
Minor: move LookupLocation to org.jetbrains.kotlin.incremental.components
2015-08-08 02:08:16 +03:00
Zalim Bashorov
2aa4c383cd
UsageLocation -> LookupLocation
2015-08-08 02:08:15 +03:00
Alexander Udalov
d7b1e5d7a8
Improve toReadOnlyList(), consider the case when size = 1
2015-08-07 23:01:26 +03:00
Alexey Tsvetkov
53eccb98e3
Save class file to deserialized descriptor
2015-08-06 19:31:06 +03:00
Alexey Tsvetkov
0688afbb0c
Introduce ClassDataProvider
2015-08-06 19:31:06 +03:00
Denis Zharkov
32c23728b3
Implement raw types (de)serialization via special TypeCapabilities
2015-08-06 08:18:18 +03:00
Denis Zharkov
4563f4b1f9
Minor. Pull computeMemberScope to AbstractLazyType
2015-08-06 08:18:17 +03:00
Denis Zharkov
37420527f2
Add substitution concept into JetType
...
In most cases it's just a map { Parameter_i => Argument_i }
Will be used when loading Raw types from Java.
Also add ClassDescriptor.getMemberScope by substitution.
2015-07-31 17:33:21 +03:00
Denis Zharkov
465ed9973f
Minor. Make DeserializedType subclass of AbstractLazyType
2015-07-31 17:33:21 +03:00
Alexander Udalov
98b057f495
Don't look for classes with empty or special name in deserialized scope
...
Fix EA-59962, EA-64281, EA-65698. No new tests added because the only repro
reported as KT-8187 now fails with another (much more understandable though)
exception
#KT-8187 Open
2015-07-29 23:44:21 +03:00
Alexander Udalov
d0562b7b90
Add SourceElement to AnnotationDescriptor
...
Use KotlinSourceElement in the compiler for annotations resolved from PSI,
introduce ReflectAnnotationSource for reflection
2015-07-29 23:44:18 +03:00
Alexander Udalov
81ef1c19d8
Support KClass.constructors in reflection
2015-07-29 21:36:37 +03:00
Michael Nedzelsky
e9d7bbf493
fix KT-8648 Exception from incremental compilation
...
#KT-8648 Fixed
2015-07-29 15:14:45 +03:00
Michael Nedzelsky
2e18b3de9d
prepare to retire Type.Constructor message in descriptors.proto after M13
2015-07-28 19:49:00 +03:00
Michael Nedzelsky
459eed7d28
introduce custom options for messages in proto files
2015-07-28 19:48:44 +03:00
Michael Nedzelsky
f91f957703
add a copy of descriptor.proto file from protobuf installation
2015-07-28 19:48:41 +03:00
Michael Nedzelsky
ef8381f8af
two optional fields have been added to Type.Constructor message in descriptors.proto in preparation to remove field which requires double interpetation
2015-07-28 19:48:37 +03:00
Zalim Bashorov
41449c107e
Location.NOWHERE -> UsageLocation.NO_LOCATION
2015-07-21 22:27:25 +03:00
Zalim Bashorov
e2e3520c3d
Add location parameter to JetScope::getClassifier
2015-07-21 22:27:25 +03:00
Zalim Bashorov
0f92036353
Add location parameter to JetScope::getFunctions
2015-07-21 22:27:25 +03:00
Zalim Bashorov
f79155df97
Add location parameter to JetScope::getProperties
2015-07-21 22:27:24 +03:00
Dmitry Jemerov
aa1f6f2252
code cleanup: core modules
2015-07-21 16:21:45 +02:00
Ilya Ryzhenkov
84236992cb
Replace Injected properties with constructor parameters when it doesn't cause cycles
2015-07-20 20:58:19 +03:00
Valentin Kipyatkov
17442617bb
Synthetic extensions suggested in completion
2015-07-16 13:49:13 +03:00
Valentin Kipyatkov
c92b43c94b
Added JetScope.getSyntheticExtensionProperties()
2015-07-16 13:49:13 +03:00
Pavel V. Talanov
c313887641
Split CompileTimeConstant into two entities
...
1. ConstantValue
* just holds some value and its type
* implementations for concrete constants
2. CompileTimeConstant
* is only produced by ConstantExpressionEvaluator
* has additional flags (canBeUsedInAnnotation etc)
* has two implementations TypedCompileTimeConstant containing a constant value
and IntegerValueConstant which does not have exact type
* can be converted to ConstantValue
Adjustt usages to use ConstantValue if flags are not needed
Add tests for some uncovered cases
2015-07-16 02:28:05 +03:00
Pavel V. Talanov
5dc5d77e60
Inject builtins in constants
2015-07-15 21:09:52 +03:00
Pavel V. Talanov
ea1a85e78c
Introduce CompileTimeConstantFactory
2015-07-15 21:09:40 +03:00
Pavel V. Talanov
b0a4520710
Refactor compile constants to reduce boolean parameter hell
2015-07-15 20:57:02 +03:00
Pavel V. Talanov
f97767e159
Drop ArrayValue redundant constructor parameter
2015-07-15 20:56:55 +03:00
Valentin Kipyatkov
d32ba08cb7
KT-8394 ReplaceWith for Delegates.lazy fails outside of stdlib
...
#KT-8394 Fixed
2015-07-13 19:41:42 +03:00
Alexander Udalov
9b832d4b87
Container of value parameter is always a callable
2015-07-10 20:10:12 +03:00
Denis Zharkov
0a19fb7df2
Make project compilable after types enhancement
2015-07-09 16:36:46 +03:00
Andrey Breslav
2de3a3b59e
Minor. Rename addToScope -> addFakeOverride
2015-07-09 16:32:24 +03:00
Alexander Udalov
b0e963bf34
Binary metadata: make repeated int fields packed
...
To save some bytes for enums and classes with many nested classes
2015-07-06 16:19:55 +03:00
Alexander Udalov
c8439ae6fc
Minor, rename val EXTENSION_REGISTRY -> extensionRegistry
2015-07-03 15:32:16 +03:00
Alexander Udalov
110d6fa7f1
Don't load irrelevant classes by accident, if resource happens to exist
...
Check with the containing class or package first, don't load the class if the
container doesn't know about it. This also makes the workaround for
case-insensitive file systems unnecessary
2015-07-03 15:31:48 +03:00