Commit Graph

9095 Commits

Author SHA1 Message Date
Michael Bogdanov 0c11ca680e Fix for KT-3969: Codegen fails on unary calls with default arguments
#KT-3969 Fixed
2014-10-03 17:24:14 +04:00
Alexey Tsvetkov 436fc33e84 Minor testData: fixed -Xno-inline option at extraHelp.out 2014-10-03 14:23:57 +04:00
Zalim Bashorov 0e075c7d5f JS backend: added the ability to turn off the inline optimization. 2014-10-03 14:23:53 +04:00
Alexey Tsvetkov 987708680f JS test: JS AST access from tests 2014-10-03 14:23:47 +04:00
Valentin Kipyatkov c0db84331e Fixed bug in join lines 2014-10-02 18:26:06 +04:00
Svetlana Isakova ce01c61811 Rename: auto cast -> smart cast 2014-10-01 18:52:52 +04:00
Svetlana Isakova 20f3403c80 Rename: this object, receiver argument -> dispatch receiver, extension receiver 2014-10-01 18:52:51 +04:00
Svetlana Isakova 1d2d2f4845 KT-5873 Exception in ArgumentMatchImpl on smart completion
#KT-5873 Fixed
2014-10-01 18:52:51 +04:00
Nikolay Krasko bc5f28d9fd Refactoring: rename KotlinLightMethodFromTrait -> KotlinLightMethodForTraitFakeOverride 2014-10-01 18:05:38 +04:00
Nikolay Krasko 897ebd0347 Linemarker tests 2014-10-01 18:02:52 +04:00
Nikolay Krasko 8ada9b68b0 Add special class for getting methods from traits 2014-10-01 18:02:31 +04:00
Pavel V. Talanov a8d77887af Introduce HighlightingWithDependentLibrariesTest
This tests that LibraryInfo dependencies affect source files highlighting
2014-09-30 21:59:01 +04:00
Alexey Sedunov be211d7cda Create From Usage: Generalize function builder for both functions and properties 2014-09-30 19:55:40 +04:00
Natalia Ukhorskaya 9032a6166e Fix Android tests 2014-09-30 17:48:40 +04:00
Natalia Ukhorskaya 4994e771d0 Evaluate expression: support EE for shared vars 2014-09-30 15:00:28 +04:00
Denis Zharkov f1d9d11590 Store stack values before inlines. #KT-5634 Fixed
Inlining code violates JIT assumptions for OSR in Java 8 in case of
starting with non-empty and containing cycles.

Fix is to mark each inlined block with markers and then store/restore
stack state before and after inlined body.
2014-09-29 17:16:58 +04:00
Michael Bogdanov 469db95662 Inline markers added 2014-09-29 17:16:57 +04:00
Pavel V. Talanov 54799b1a34 Internal visibility works the same as public
Fix test data
This change is needed to preserve old behaviour for M9
isFriend() utilities become unused after this change
2014-09-26 22:06:32 +04:00
Alexander Udalov cd0551078c Support static method references
#KT-5123 Fixed
2014-09-26 18:48:43 +04:00
Alexander Udalov 19497262b3 Don't lookup built-in classes by invalid names
#KT-5869 Fixed
2014-09-26 18:48:43 +04:00
Pavel V. Talanov 649a6f12bb Compute builtins directory url only once 2014-09-26 18:21:09 +04:00
Michael Bogdanov b3e075173b KT-5863: Inlined try/catch/finally block with non-local return doesn't work properly
#KT-5863 Fixed
2014-09-26 17:08:58 +04:00
Denis Zharkov da159c1e53 Simple version of redundant GOTO's removing 2014-09-26 12:37:33 +04:00
Denis Zharkov e1c2fbaec0 Minor refactoring: use array of MethodTransformers
instead of delegation
2014-09-26 12:37:32 +04:00
Denis Zharkov 35cda83c8f Refined merging logic #KT-5844 Fixed
If merging primitives of different integral types (e.g. I and Z) return
INT.
Else return UNINITIALIZED_VALUE
2014-09-26 12:37:04 +04:00
Alexander Udalov 80a7c64369 Prepend zeros to package part hash code 2014-09-26 10:23:14 +04:00
Alexander Udalov e2273a3d85 Update JetExceptionFilter behavior for top level closures
Now JetExceptionFilter can determine the source file looking at the class FQ
name for sure
2014-09-26 10:22:28 +04:00
Alexander Udalov 9f7979d0ce Workaround package part hash codes in OuterClassGenTest 2014-09-26 10:22:26 +04:00
Alexander Udalov 4d055d5ab4 Check header on package part classes in MethodInliner 2014-09-26 10:22:26 +04:00
Alexander Udalov c30aa7db84 Include package part name to top level closure names
#KT-4234 Fixed
 #KT-4496 Fixed
2014-09-26 10:22:25 +04:00
Alexander Udalov 7b374b9509 Refactor CodegenBinding
- store source element in synthetic descriptor for easier debugging and lesser
  amount of needed method parameters everywhere
- simplify methods which calculate necessary information for MutableClosure
2014-09-26 10:22:24 +04:00
Alexander Udalov 7d6da551d1 Minor, inline one of CodegenBinding#registerClassNameForScript 2014-09-26 10:22:24 +04:00
Alexander Udalov 4194f1c418 Minor, simplify old code in ImplementationBodyCodegen 2014-09-26 10:22:24 +04:00
Alexander Udalov 2ba9856a85 Calculate inner class access flags accurately 2014-09-26 10:22:23 +04:00
Alexander Udalov 806d79caba Minor, strip package name from class for script
This is done to be able to construct a FqName of this class. Currently it's not
possible because the name contains '/' and FqName validation fails.

This name is only used for debugging and even the ClassDescriptor is used only
as a key in binding context to store the internal name of the script class
2014-09-26 10:22:23 +04:00
Alexander Udalov 4cb9fbc026 Move CodegenBinding#computeAsmType() to JetTypeMapper, make private 2014-09-26 10:22:23 +04:00
Alexander Udalov 232ab0b065 Refactor when by enum switch codegen
Invoke getAsmType() later, not in the process of annotating the file
2014-09-26 10:22:22 +04:00
Alexander Udalov d4a845da01 Refactor CodegenBinding#getAsmType()
- make it return the ASM_TYPE slice value and assert it is there
- move all the computation to the separate method "computeAsmType"
- only call getAsmType() in those places where the type must be recorded at
  slice ASM_TYPE, otherwise call JetTypeMapper#mapType(), which will check the
  slice and call computeAsmType
2014-09-26 10:22:22 +04:00
Alexander Udalov c1125402bd Store FqName in LightClassDataForKotlinClass rather than a String
It was also mistakenly named "jvmInternalName" while in fact it was holding the
result of Type#getClassName() which is not an internal name
2014-09-26 10:22:21 +04:00
Alexander Udalov c57441b51b Use '$' instead of '-' in package part class names
Otherwise some tools break (e.g. CheckMethodAdapter in ASM, used in generic
signature writer) because they expect class names to be Java identifiers.

Some tests fixed, some will be fixed in future commits
2014-09-26 10:22:20 +04:00
Alexander Udalov e3876624d8 Minor improvements to inline tests 2014-09-26 10:22:19 +04:00
Alexander Udalov e53aca5496 Minor, fix warnings and formatting 2014-09-25 17:14:59 +04:00
Denis Zharkov de6a5dd6dc fix KT-5866. Moved classes into inlines package
Also copy-pasted static-initializer of asm.Frame.OPCODES
 because it package-protected
2014-09-25 17:14:59 +04:00
Valentin Kipyatkov 2bb553612c Dealing with infix calls in completion
#KT-4846 Fixed
2014-09-25 17:10:22 +04:00
Valentin Kipyatkov 726f49b3f8 Converted TipsManager to Kotlin 2014-09-25 17:10:20 +04:00
max-kammerer 86d598677d Merge pull request #506 from bintree/max-stack-calc-refining
Refining calculation of max stack size. #KT-5548 Fixed
2014-09-25 10:00:37 +04:00
Natalia Ukhorskaya 0dfc793a45 Merge pull request #515 from dmekhanikov/master
Introduce propertyDelegated method in delegates
2014-09-24 18:50:56 +04:00
Denis Zharkov 7de406991a Refining conditions if method can be optimized 2014-09-24 18:04:33 +04:00
Denis Zharkov e32f307960 Refining calculation of max stack size. #KT-5548 Fixed
It used for inline and optimization

Added new MethodVisitor's decorator within objectweb.asm package because
there are a lot of usages of package-protected members

Large portion of MaxStackFrameSizeCalculator is carefully copy-pasted from
MethodWriter parts that are relevant to max stack size calculation
2014-09-24 18:04:33 +04:00
Michael Bogdanov cde74504d4 Test for obsolete kt5307 2014-09-24 17:12:27 +04:00