Commit Graph

496 Commits

Author SHA1 Message Date
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