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