Alexander Udalov
de0fd3818c
Drop "-src" in kotlinc-jvm
...
Free arguments should be used instead
2014-07-23 21:24:39 +04:00
Alexander Udalov
917938e57b
Update copyrights
2014-07-23 21:24:39 +04:00
Alexander Udalov
87439b8e0b
Drop "-sourceFiles" in kotlinc-js
...
Use free arguments instead, as is done in kotlinc-jvm and all sensible
compilers everywhere
Also fix some cases of AntTaskTest to be able to run them locally
2014-07-23 21:24:38 +04:00
Alexander Udalov
125c5e2942
Drop "-printArgs"
2014-07-23 16:01:12 +04:00
Alexander Udalov
cb80f95cab
Don't output "exec() finished with..." error message
...
It's useless because the result of the compiler is always evident (it outputs
either diagnostics or an exception stack trace)
2014-07-23 16:01:11 +04:00
Alexander Udalov
5003a2f570
Send compiler output to stderr instead of stdout
...
Test only stderr in kotlinc test now and move the '-script' test to integration
tests where both stdout and stderr is tested
2014-07-23 16:01:11 +04:00
Denis Zharkov
c01512eb41
Do not optimize large methods. #KT-5513 Fixed
2014-07-23 14:13:23 +04:00
Evgeny Gerashchenko
7e6b05554e
Always closing IncrementalCache after using. Fixed KannotatorJpsTest.
2014-07-22 21:18:16 +04:00
Pavel V. Talanov
f44ba60d51
Fix SimplifyBooleanWithConstantsIntention intention to avoid analyzing files created by JetPsiFactory
2014-07-21 18:52:30 +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
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
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
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
Denis Zharkov
0b2b8ba816
Fixed KT-5493: NPE fix
2014-07-17 18:43:44 +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
ce5f7e9d61
Breaking change. Map operations revisited.
2014-07-16 21:35:07 +04:00
Nikolay Krasko
0b7699b844
Fix silence turning integers with leading zero into doubles
...
#KT-4296 Fixed
2014-07-16 18:35:19 +04:00
Denis Zharkov
0e683b0b99
Added "optimize" flag to settings everywhere
2014-07-15 21:34:32 +04:00
Denis Zharkov
602e60f72e
Merge conditions refinement
2014-07-15 21:26:54 +04:00
Denis Zharkov
0f5e29df9b
tests added
2014-07-15 21:26:53 +04:00
Denis Zharkov
e53e4fe257
fixed isSafeCast, so it doesn't use Class.forName()
2014-07-15 21:26:53 +04:00
Denis Zharkov
498e5ec192
Minor refactoring: analyze-method added
2014-07-15 21:26:53 +04:00
Denis Zharkov
a412a96ff3
Changed strategy from enumeration of unsafe operations to permitted + INSTANCEOF added
2014-07-15 21:26:52 +04:00
Denis Zharkov
69d8d07a05
Refactoring: reordering methods to usage places
2014-07-15 21:26:52 +04:00