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
Ilya Gorbunov
765733b791
Compiler&plugin deprecations cleanup: withIndices -> withIndex or mapIndexed
2015-06-29 17:06:31 +03:00
Mikhail Glukhikh
6e2395471d
Sealed code generation: sealed is considered abstract, correct serialization
...
A pair of tests provided.
2015-06-25 19:07:23 +03:00
Pavel V. Talanov
1cf38e4799
Convert PackageViewDescriptor to Kotlin
2015-06-23 15:18:57 +03:00
Denis Zharkov
eb7114bd53
Add 'constructor' keyword in whole project where needed
2015-06-12 09:55:15 +03:00
Denis Zharkov
200dee2761
Replace deprecated annotations in whole project
2015-06-12 09:23:32 +03:00
Alexander Udalov
4141e0a8df
Introduce fictitious numbered Function class descriptors
2015-05-26 15:04:54 +03:00
Mikhail Glukhikh
fdf0ea5546
Enum warnings fixed: deprecated delimiters, short super constructors, both in project and in libraries
2015-05-18 16:08:16 +03:00
Michael Nedzelsky
6dc7c4bc29
add SerializedResourcePaths, extract base code from builtins package fragment, data finder
2015-05-12 19:30:26 +03:00
Dmitry Jemerov
cce1be3892
rename JetClass.isTrait() to isInterface(); rename ClassKind.TRAIT to INTERACE
2015-04-29 16:50:19 +02:00
Alexander Udalov
890d18e7be
Support external annotations in IDE when approximating flexible types
2015-04-29 01:09:36 +03:00
Alexander Udalov
0732b78853
Serialize/deserialize annotations on types
2015-04-29 01:03:55 +03:00
Pavel V. Talanov
ac2cb9af74
Remove some usages of KotlinBuiltIns.getInstance()
...
Introduce DeclarationDescriptor.builtIns extension to get builtins where descriptors are available
Introduce various utilities in KotlinBuiltIns to check for primitive types and get fq names of builtins
2015-04-28 12:49:34 +03:00
Denis Zharkov
8e69c06e5a
Adjust stub-builder, decompiler and renderer to new PSI structure
...
of primary ctor
2015-03-31 20:20:22 +03:00
Alexander Udalov
32c3bb8c7f
Extract module 'deserialization' out of 'serialization'
...
'deserialization' stays in core because it's needed both in compiler and
reflection, but 'serialization' is used only in the compiler
2015-03-30 19:44:17 +03:00