Commit Graph

9610 Commits

Author SHA1 Message Date
Nikolay Krasko a42edb9c8f LTDA: Assert context was created for light class generation 2014-11-28 17:18:40 +03:00
Nikolay Krasko 571f3c8524 LTDA: Initialize project components with resolve session after injector construction is finished 2014-11-28 17:18:39 +03:00
Nikolay Krasko 602407cc9c LTDA: Fix REPL and make it work with lazy resolve 2014-11-28 17:18:38 +03:00
Nikolay Krasko 994c8886bc LTDA: Initialize built-ins reference resolver with lazy tda 2014-11-28 17:18:37 +03:00
Nikolay Krasko 23c6498e1e LTDA: Injector with lazy TDA for JVM target
- REPL is broken
 - Tests for Kotlin - Java - Kotlin hierarchy may fail
2014-11-28 17:18:36 +03:00
Nikolay Krasko b57e5fa971 LTDA: Compare constructed descriptors only with test files 2014-11-28 17:18:35 +03:00
Nikolay Krasko 48f459f656 LTDA: Enable lazy analyze by default 2014-11-28 17:18:35 +03:00
Alexander Udalov d1425c14ba Test built-ins serializer, untie built-ins from class loader resources 2014-11-28 15:39:03 +03:00
Valentin Kipyatkov 820c2c7cd8 Smart completion: inheritors instantiation suggested + fixed a bug with incorrect presentation of generic java class instantiation 2014-11-28 15:33:26 +03:00
Pavel V. Talanov f0a9c4f683 Extract non-descriptor specific abstract ancestor for BinaryClassAnnotationAndConstantLoader 2014-11-27 21:17:19 +03:00
Pavel V. Talanov 39e1dfbcc0 Merge AnnotationLoader and ConstantLoader into single interface
Merge all implementation classes into single BinaryClassAnnotationAndConstantLoader
2014-11-27 21:17:18 +03:00
Pavel V. Talanov d2fc7c7fd3 Inline BaseDescriptorLoader#getPackagePartClassName utilities 2014-11-27 21:17:15 +03:00
Alexander Udalov 8dae1b62dd Add CharSequence.subSequence
This is done primarily for JVM interoperability, otherwise it's impossible to
inherit from CharSequence there. On JS subSequence at the moment just invokes
substring.

 #KT-5956 Fixed
2014-11-27 20:38:19 +03:00
Alexander Udalov 4d95bcfc7e Rename CharSequence.get to charAt
This is done for JVM interoperability. There's still a member function
String.get() and an extension function "get" on CharSequence

 #KT-1730 Fixed
 #KT-5389 Fixed
2014-11-27 20:38:18 +03:00
Alexander Udalov a7b88e9485 Make CharSequence.length a function instead of property
And String.length as well.

This is done for JVM interoperability: java.lang.CharSequence is an open class
and has a function 'length()' which should be implemented in subclasses
somehow.

A minor unexpected effect of this is that String.length() is now a compile-time
constant (it wasn't such as a property because properties are not supported in
compile-time constant evaluation)

 #KT-3571 Fixed
2014-11-27 20:38:17 +03:00
Denis Zharkov 3b2d0b88f3 Supported nested reified parameter declarations
Also switched to using type names as identifiers instead of their
indices
2014-11-27 15:15:04 +04:00
Denis Zharkov 080610c208 Wrap parentCodegen before generating from inline 2014-11-27 14:58:04 +04:00
Denis Zharkov 538a2172e5 Got rid of hack with stashing wereReified
1. Made ClosureCodegen extending MemberCodegen
2. Made ClosureContext extending ClassContext
2014-11-27 14:58:04 +04:00
Denis Zharkov ca27be87cc Minor, removed redundant argument
from ClassBodyCodegen.generateDeclaration
2014-11-27 13:49:18 +04:00
Denis Zharkov 37d476c388 Moved DiagnosticFactories about reified to
``Type parameter declarations'' block
2014-11-27 13:49:18 +04:00
Denis Zharkov 02be1063c1 Do not report a warning on an inline function with a reified parameter
#KT-6273 Fixed
2014-11-27 13:49:17 +04:00
Denis Zharkov f7d1bc5931 Diagnostics test: array creation of non-reified TP
#KT-1370 Fixed
2014-11-27 13:49:17 +04:00
Svetlana Isakova 724f2e6e7b KT-6081 Chained generic method calls: wrong type inference
#KT-6081 Fixed
2014-11-27 02:28:10 +03:00
Alexey Sedunov 5c4dd75110 Light Methods: Change PSI element language to Kotlin 2014-11-26 13:07:34 +03:00
Alexey Sedunov 1008225116 Change Signature: Processing of non-Kotlin usages
#KT-5810 Fixed
 #KT-4187 Fixed
2014-11-26 13:07:33 +03:00
Alexey Sedunov ddccc0e640 Change Signature: Update enum entries w/o delegation specifier when changing signature of enum class constructor
#KT-5978 Fixed
2014-11-26 13:07:29 +03:00
Alexander Udalov a6d759ff96 Minor, add test for obsolete issue
#KT-3587 Obsolete
2014-11-25 23:16:56 +03:00
Alexander Udalov 3a066dfd07 Rename "context" -> "c" in deserialization for brevity 2014-11-25 23:16:27 +03:00
Alexander Udalov 1f68c94ce6 Fix several bugs in serialization of inner generic classes
- Interner was working incorrectly with parents
- nested classes were serialized in codegen out of any context

 #KT-5660 Fixed
2014-11-25 23:16:26 +03:00
Alexander Udalov 36c65e4264 Minor, drop strange method from SerializerExtension 2014-11-25 23:16:26 +03:00
Alexander Udalov 60662e5831 Fix double laziness of annotations introduced in 149a90d 2014-11-25 23:16:21 +03:00
Alexander Udalov 07c3a07ecb Make DeserializedType a static nested class 2014-11-25 23:15:49 +03:00
Alexander Udalov 5907df92db Drop secondary DeserializedPackageMemberScope constructor
Create package context only once
2014-11-25 23:15:49 +03:00
Alexander Udalov e1a1c06c3e Rename deserialization context for Java to "components"
Simplify its injection to DeserializedDescriptorResolver
2014-11-25 23:15:49 +03:00
Alexander Udalov 673c15a23d Simplify component injection in annotation/constant loaders 2014-11-25 23:15:48 +03:00
Alexander Udalov 149a90d7bf Make annotations on deserialized descriptors truly lazy 2014-11-25 23:15:47 +03:00
Alexander Udalov 4df7cb4e72 Major refactoring of deserialization contexts: merge two into one 2014-11-25 23:15:47 +03:00
Alexander Udalov cb5c21e831 Merge DeserializationGlobalContext with DeserializationComponents 2014-11-25 23:15:47 +03:00
Andrey Breslav 2a334fc8f5 Support JS-targeted diagnostic tests 2014-11-25 18:45:43 +03:00
Nikolay Krasko 722624f0a4 Add test about platform static checks in ide 2014-11-25 17:16:15 +03:00
Valentin Kipyatkov 32a13502c5 Fixed one of the cases with lambda's returning Nothing 2014-11-24 20:11:29 +03:00
Valentin Kipyatkov d334011d5d Renamed firstOrNullIsInstance 2014-11-24 20:11:28 +03:00
Valentin Kipyatkov ddc60ac5dd Better injecting of partial body resolve filter 2014-11-24 20:11:28 +03:00
Valentin Kipyatkov cd90ab951f Partial body resolve tests: more informative test output 2014-11-24 20:11:27 +03:00
Valentin Kipyatkov 00d9c94a8b Changed way to pass statementFilter from ElementResolver into ExpressionTypingServices 2014-11-24 20:11:26 +03:00
Valentin Kipyatkov a0c9c0e7b2 Added firstOrNullIsInstance and firstIsInstance methods 2014-11-24 20:11:26 +03:00
Valentin Kipyatkov 8010c0f09d Partial body resolve works for local Nothing functions + does not go inside local functions and classes 2014-11-24 20:11:25 +03:00
Valentin Kipyatkov 3b77d337e8 Renames "possibly nothing" to "probably nothing" 2014-11-24 20:11:25 +03:00
Valentin Kipyatkov e5579bcf32 Partial body resolve: to take source Kotlin callables with Nothing type from caches 2014-11-24 20:11:25 +03:00
Valentin Kipyatkov a675b5ba38 Basic implementation of partial body resolve 2014-11-24 20:11:23 +03:00