Commit Graph

1740 Commits

Author SHA1 Message Date
Alexander Udalov 56f8f021f9 Generate proper generic signature for closure classes 2013-04-22 17:59:32 +04:00
Alexander Udalov ace7bd9bc8 Fix StackValue.coerce void to Object
We can only put Unit.VALUE on stack if we're requested an instance of Object or
Unit. In other cases (arbitrary objects / arrays) we put null instead
2013-04-22 17:59:32 +04:00
Alexander Udalov 054e5fb5e7 Codegen for callable reference expressions
#KT-1183 In Progress
2013-04-22 17:59:32 +04:00
Alexander Udalov 1eeaaad05d Refactor method/constructor calls in codegen
- use ResolvedCall where possible
- 'call' parameter to invokeMethodWithArguments was used only to generate
  callee, e.g. in "A()" where A is an expression which can be invoke()'d.
  In case of constructors and enum entry delegation specifiers there's no need
  to generate callee, so 'call' is made Nullable with a subsequent assert
- remove generateJavaConstructorCall() method, since it did no useful work.
  Java constructor invocation is broken anyway and needs to be fixed (KT-3532)
- minor code style / formatting issues fixed, several methods renamed to better
  reflect semantics
2013-04-22 17:59:32 +04:00
Alexander Udalov fee7846c7e LHS of callable reference can't be a type parameter 2013-04-22 17:59:31 +04:00
Alexander Udalov d40906a690 Disallow references to extensions in classes
It's not clear in which order should the two receiver arguments be passed to
them, and there's no corresponding K*FunctionN class for now

 #KT-1183 In Progress
2013-04-22 17:59:31 +04:00
Alexander Udalov c4b4fa750c Resolve callable reference expressions
#KT-1183 In Progress
2013-04-22 17:59:31 +04:00
Alexander Udalov 76fa9642f0 toString() for FunctionN classes
It's implemented as if the types were reified: getting the real type parameters
of the corresponding FunctionN class
2013-04-22 17:59:29 +04:00
Alexander Udalov 0ec1f20140 Write generic signature for closure FunctionN superclass
ClosureCodegen.appendType() now appends any Type as a type parameter correctly
2013-04-22 17:59:29 +04:00
Nikolay Krasko 5df85f6100 KT-3525 Duplicate inner class name not detected
#KT-3525 Fixed
2013-04-19 01:10:54 +04:00
Evgeny Gerashchenko 622c1c3790 Reverted optimizing imports. 2013-04-18 22:33:06 +04:00
Evgeny Gerashchenko 7133f20247 Added tests with type parameter of class in SAM adapter. 2013-04-18 22:02:04 +04:00
Evgeny Gerashchenko 8c4e45de9a Supported SAM adapters with type parameters. 2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko f4994969c0 Added tests with type parameter of class in SAM adapter. 2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko e554228a73 Added tests with mixture of SAM and non-SAM parameters. 2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko 7bd11718de Supported simplest cases of SAM adapter in backend. 2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko 8f8d284fe1 Added Kotlin external annotations to codegen tests with Java. 2013-04-18 21:59:49 +04:00
Evgeny Gerashchenko c8e02f75b0 Supported simplest cases of SAM adapter. 2013-04-18 21:59:49 +04:00
Mikhael Bogdanov 82d7f07cb3 Fixed bug in fix for KT 3492: Bug in bytecode generation for labeled super call from inner class & Property generation refactoring 2013-04-18 18:33:25 +04:00
Andrey Breslav fe4dd2f661 Fix tests (by extracting a method and calling it multiple times) 2013-04-18 17:36:30 +04:00
Andrey Breslav 140382e280 PSI getter fixed: left-hand side of a binary expression can now be null
EA-35976 - IAE: FqNameUnsafe.validateFqName
2013-04-18 16:34:10 +04:00
Mikhael Bogdanov c69e7f059d Duplicated JetTypeMapper.mapSignature removed 2013-04-18 15:03:43 +04:00
Mikhael Bogdanov a1d295638a ExpressionCOdegen.visitSimpleNameExpression simplification 2013-04-18 14:05:15 +04:00
Mikhael Bogdanov 1fd76845ad Regression test for kt3315 2013-04-17 18:55:04 +04:00
Andrey Breslav 12cd0675bc A module can look up a namespace (package view) by FqName 2013-04-17 17:11:20 +04:00
Andrey Breslav b89dc314c8 getPlatformToKotlinClassMap() removed from ModuleConfiguration 2013-04-17 17:11:19 +04:00
Andrey Breslav 4111e78ac2 ModuleDescriptor stores a PlatformToKotlinClassMap 2013-04-17 17:11:18 +04:00
Andrey Breslav 2e710d7462 getDefaultImports() removed from ModuleConfiguration 2013-04-17 17:11:18 +04:00
Andrey Breslav f3656bcadd ModuleDescriptor stores default imports 2013-04-17 17:11:18 +04:00
Andrey Breslav a72e49d8f7 Use ModuleDescriptor instead of ModuleConfiguration 2013-04-17 17:11:17 +04:00
Andrey Breslav e29418cde5 ModuleDescriptor stores a ModuleConfiguration 2013-04-17 17:11:17 +04:00
Andrey Breslav 2e44996cd0 ModuleDescriptor interface extracted 2013-04-17 17:11:16 +04:00
Natalia.Ukhorskaya f2b3be7416 Unify properties initialization for init and clinit 2013-04-17 16:18:10 +04:00
Mikhael Bogdanov 57b161b08a KT-3500: ClassFormatError: Duplicate method name&signature in class file && KT-3429: Traits override bug 2013-04-17 15:23:33 +04:00
Mikhael Bogdanov 3da3f94b4e KT 3492: Bug in bytecode generation for labeled super call from inner class & Property generation refactoring 2013-04-17 15:23:33 +04:00
Andrey Breslav d612a1167d Better error reporting in codegen tests:
an exception from generateToText() used to mask the one from the original run
2013-04-12 21:06:54 +04:00
Andrey Breslav 99e735ba7b An unfortunate design decision removed from tests 2013-04-12 21:06:53 +04:00
Svetlana Isakova 204ffde78a added errors TYPE_PARAMETER_ON_LHS_OF_DOT,
TYPE_PARAMETER_IS_NOT_AN_EXPRESSION
fixed exception from ea
2013-04-12 17:35:00 +04:00
Svetlana Isakova 3168b732d3 annotate 'getArrayExpression' with @Nullable @IfNotParsed
from EA
2013-04-12 17:34:59 +04:00
Evgeny Gerashchenko 976713d3e7 Minor. Regenerated. 2013-04-11 21:11:38 +04:00
Evgeny Gerashchenko f713b03abc Fixed propagation for non-abstract methods inherited from traits. 2013-04-11 21:06:33 +04:00
Nikolay Krasko e242f31dff Rename methods (prefix -> prefixes) 2013-04-11 20:00:23 +04:00
Nikolay Krasko a79e997611 Add ability to test for unexpected directives in tested file 2013-04-11 20:00:20 +04:00
Nikolay Krasko 5ccea1185d Make completion test framework be configurable for writing multi-platform tests 2013-04-11 20:00:20 +04:00
Nikolay Krasko 1d05125c8f Refactoring: change parameters order in InTextDirectivesUtils 2013-04-11 20:00:19 +04:00
Nikolay Krasko ebd72df058 KT-3491 Wrong (or not obvious) warning
#KT-3491 Fixed
2013-04-10 13:14:49 +04:00
Natalia.Ukhorskaya 1dce3b5da4 Invoke top level function with default argument using src class 2013-04-09 17:11:25 +04:00
Evgeny Gerashchenko b1ea79113f Replaced hard exception with LOG.error. 2013-04-04 17:51:51 +04:00
Svetlana Isakova d843608298 'checkType' for qualified properties as function arguments 2013-04-03 20:44:47 +04:00
Svetlana Isakova 8f1b728a08 try to use bounds in type inference
if some parameters are unknown
2013-04-03 15:51:17 +04:00