Commit Graph

17099 Commits

Author SHA1 Message Date
Pavel V. Talanov 1bc0a9dfd9 Fix InsertExplicitTypeArguments intention to insert imports for shortened types
#KT-5489 Fixed
2014-07-21 18:52:29 +04:00
Pavel V. Talanov 0462a018c5 Add test documenting a minor issue introduced in previous commit 2014-07-21 18:52:28 +04:00
Pavel V. Talanov 966da0b03f Fix ConvertAssertToIfWithThrowIntention
to not invoke ShortenReferences on file created by JetPsiFactory

 #KT-5476 Fixed
2014-07-21 18:52:27 +04:00
Pavel V. Talanov 1a5ba566cc Add test for the same pitfall for parameter types in MakeTypesExplicitInLambda 2014-07-21 18:52:26 +04:00
Pavel V. Talanov e390385bf9 Fix shortening references for return type in MakeTypeExplicitInLambdaIntention
#KT-5475 Fixed
2014-07-21 18:52:25 +04:00
Pavel V. Talanov 5246735648 Fix shortening references for receiver in MakeTypeExplicitInLambdaIntention
#KT-5474 Fixed
2014-07-21 18:52:24 +04:00
Denis Zharkov 18cb479ef3 When2Switch: tests for non-literal expression in when by integral 2014-07-21 17:13:57 +04:00
Denis Zharkov 8d8c3d2b9e When2Switch: generate ifnonnull check for nullable values before *switch-opcode 2014-07-21 17:13:56 +04:00
Denis Zharkov 706bbd7b72 When2Switch: check if entry set is not empty 2014-07-21 17:13:56 +04:00
Denis Zharkov d4cb822ee8 When by String constants:
Generate TABLESWITCH/LOOKUPSWITCH bytecode operation for when operator by String constants
2014-07-21 17:13:56 +04:00
Denis Zharkov 5a1c995b5c When by enum:
Generate TABLESWITCH/LOOKUPSWITCH bytecode command in case of "when" by enum entries
2014-07-21 17:13:55 +04:00
Denis Zharkov b2aa249817 Refactoring of switches codegen parts 2014-07-21 17:13:41 +04:00
Denis Zharkov dbd1ab8c67 Minor formatting and unused code deleted 2014-07-21 17:13:41 +04:00
Alexander Udalov 230ceb6221 Resurrect assert for property default values in FULL mode
Respond to
https://github.com/JetBrains/kotlin/commit/4980a3357231c833ebdb7111d16e7be5bd342521#commitcomment-7078429

 #KT-5505 Fixed
2014-07-21 15:29:28 +04:00
Nikolay Krasko 3d51936b64 Merge pull request #498 from zarechenskiy/injector-generator
Add injector-generator to artifacts
2014-07-21 14:46:56 +04:00
zarechenskiy 31e2171f23 Add injector-generator to artifacts 2014-07-21 14:34:55 +04:00
Alexander Udalov 4980a33572 Fix unjustified assert in PropertyCodegen
#KT-5505 Fixed
2014-07-19 02:13:27 +04:00
Alexander Udalov 70adb0f4e2 Temporarily prohibit non-local returns for some stdlib functions
Make InlineUtil work with FQ names, not descriptors

 #KT-5496 Fixed
 #KT-5497 Fixed
2014-07-19 02:13:27 +04:00
Alexander Udalov 540b87a1dc Support object array annotation arguments in deserialization 2014-07-19 02:13:26 +04:00
Alexander Udalov d5681540ec Fix NoSuchMethodError for data classes with private parameters
Introduced in a07909bb52
2014-07-19 02:13:26 +04:00
Alexander Udalov cf8e83f4f8 Minor, delete obsolete check
'superCall' is now never a JetDelegatorByExpressionSpecifier, so the check is
useless
2014-07-19 02:13:25 +04:00
Alexander Udalov abf46d593c Fix incorrect test data 2014-07-19 02:08:24 +04:00
Alexander Udalov 93fdf3a254 Minor, extract FrameMap creation in FunctionCodegen 2014-07-18 16:26:48 +04:00
Alexander Udalov 33f7d6e3ef Get rid of a questionable TImpl hack in ImplementationBodyCodegen
Move getTraitImplThisParameterType closer to the only left usage in
JetTypeMapper
2014-07-18 16:26:47 +04:00
Alexander Udalov c25d72d240 Drop CodegenBinding#enclosingClassDescriptor() 2014-07-18 16:26:47 +04:00
Alexander Udalov 78bdcae65e Delete unreachable code in ImplementationBodyCodegen
Change superCall type to JetDelegatorToSuperCall
2014-07-18 16:26:47 +04:00
Alexander Udalov 1949e24ffa Get rid of ConstructorFrameMap, drop CodegenContext#prepareFrame()
Also refactor FunctionGenerationStrategy to take FrameMap as an instance
instead of creating it in a subclass
2014-07-18 16:26:46 +04:00
Alexander Udalov 65c21561a4 Fix super constructor calls of anonymous objects and local classes
If a class inherits from another class which captures something (outer class
instance, receiver parameter, local variables, etc.), the constructor of the
former class should contain all the parameters of the super constructor as its
own parameters, so that it could make a proper super call. All such parameters
are now replicated in the derived constructor with kind = SUPER_CALL_PARAM,
except an instance of the outer class (kind = OUTER), which can be taken from
the derived's own OUTER when it has one, to prevent multiple passing of the
same argument.

Previously it worked only when inheriting from inner classes via a special hack
(ConstructorFrameMap).

Also reuse recently introduced ArgumentGenerator to automatically take care of
default and vararg arguments of super constructor

 #KT-3581 Fixed
 #KT-5342 Fixed
 #KT-5343 Fixed
2014-07-18 16:26:46 +04:00
Alexander Udalov b85a672052 Minor, combine ENUM_NAME and ENUM_ORDINAL parameter kinds 2014-07-18 16:26:42 +04:00
Alexander Udalov 0caf0cffab Minor, extract method JetTypeMapper#writeParameter 2014-07-18 16:26:41 +04:00
Alexander Udalov b29f3dddeb Minor, rename parameter 2014-07-18 16:26:41 +04:00
Alexander Udalov 288bbcae36 Refactor ExpressionCodegen#invokeMethodWithArguments
- for inlining purposes, take ResolvedCall.getCall() instead of a separate
  parameter
- split into two methods, the other one will be used for a more granular code
  generation of a method call
2014-07-18 16:26:40 +04:00
Alexander Udalov 04b54e9cb7 Simplify ExpressionCodegen#generateConstructorCall
Don't go through StackValue.CallReceiver because it handles a variety of cases
when a callable descriptor has a receiver argument, an expected this object, or
both. Constructors can't have receiver arguments, so the resulting code is
greatly simplified
2014-07-18 16:26:40 +04:00
Alexander Udalov 62ce4a034b Increase maximum heap size for Codegen Tests on Android
Also include all other arguments from "All Tests"
2014-07-18 04:11:18 +04:00
Alexander Udalov eb448627e1 Minor, delete unused method in JvmCodegenUtil 2014-07-17 19:18:06 +04:00
Alexander Udalov eaeb976903 Access private class property via field in Evaluate Expression 2014-07-17 19:18:05 +04:00
Alexander Udalov a07909bb52 Don't generate unnecessary accessors for private class properties 2014-07-17 19:18:05 +04:00
Alexander Udalov 4bdf7e3426 Use direct field access to trivial class properties
#KT-3845 Fixed
2014-07-17 19:18:05 +04:00
Alexander Udalov 1555a3756c Refactor and comment JvmCodegenUtil#couldUseDirectAccessToProperty()
Logic hasn't changed except the deleted isTopLevelDeclaration() call which
always returned false in this case because we checked that it's a class
property earlier
2014-07-17 19:18:05 +04:00
Evgeny Gerashchenko 79bb433810 Merge pull request #497 from bintree/master
Fixed KT-5493: NPE fix
2014-07-17 18:46:48 +04:00
Denis Zharkov 0b2b8ba816 Fixed KT-5493: NPE fix 2014-07-17 18:43:44 +04:00
Alexander Udalov da3fcae2ba Fix "optimizations" check box in bytecode toolwindow 2014-07-17 15:45:56 +04:00
Denis Zharkov 149ffdc8b9 Analyzer error handling: fix for printing bytecode in case of exception within optimization package 2014-07-17 15:37:07 +04:00
Ilya Ryzhenkov ea9e4375b0 Merge pull request #495 from JetBrains/rr/stdlib_maps
Map-related fixes and improvements in stdlib.
2014-07-17 01:30:24 +04:00
Ilya Ryzhenkov 3980664049 Tests for map functions. 2014-07-16 21:35:12 +04:00
Ilya Ryzhenkov 37874556ae Use different file for navigation test because of test framework limitation. 2014-07-16 21:35:11 +04:00
Ilya Ryzhenkov af8d0f7b9e Fix assertion arguments. 2014-07-16 21:35:11 +04:00
Zalim Bashorov 14ab3c4de1 JS stdlib: allowed use null as key and value in Map implementations. Added tests for using null in Set and Map implementations. 2014-07-16 21:35:11 +04:00
Zalim Bashorov 223a14a855 Moved MutableMap.set from Maps.kt to MapsJVM.kt to avoid ambiguity when compile MapTest.kt by JS backend. 2014-07-16 21:35:10 +04:00
Zalim Bashorov 9b081fd254 Minor: assert -> assertTrue 2014-07-16 21:35:10 +04:00