Commit Graph

2080 Commits

Author SHA1 Message Date
Alexander Udalov 093dedcd85 Minor, don't call Type.getObjectType on array 2014-10-21 00:16:07 +04:00
Svetlana Isakova 4a1a95ea36 Rename: casted -> cast 2014-10-18 11:06:53 +04:00
Alexander Udalov 6ec71b3fd1 Generate lambdas in enum entry super calls
#KT-4423 Fixed
2014-10-17 21:27:22 +04:00
Alexander Udalov 1edaf43051 Fix Double and Float equality/hashCode in data classes
#KT-5818 Fixed
2014-10-17 21:27:22 +04:00
Denis Zharkov ec63394121 Check that boxing instruction is simple call
like T.valueOf(unboxType(T))

 #KT-6047 fixed
2014-10-17 01:22:25 +04:00
Alexander Udalov 159878e09d Pass correct outer instance in complex case of inheritance
#KT-5343 Fixed
2014-10-16 16:16:55 +04:00
Alexander Udalov 61674fb3d9 Don't put outer instance twice for anonymous object extending inner
#KT-5343 In Progress
2014-10-16 16:16:54 +04:00
Alexander Udalov 7315146753 Fix and refactor ExpressionCodegen#pushClosureOnStack
- change Closure parameter to ClassDescriptor, load closure in the beginning
- invert and rename boolean parameter, also use it only to prevent pushing
  dispatch receiver (not the extension receiver) onto the stack because the
  only non-trivial usage of it is preceded by manual handling of the dispatch
  (not extension) receiver. This fixes innerOfLocalCaptureExtensionReceiver.kt
2014-10-16 16:16:54 +04:00
Evgeny Gerashchenko 1a3750f31b Stabilized order of static accessors. 2014-10-15 20:38:16 +04:00
Evgeny Gerashchenko db45f4a062 Fixed hot swap when closure captures variables
Stabilized order of synthetic constructor parameters in anonymous class.

 #KT-5440 fixed
2014-10-15 20:33:17 +04:00
Andrey Breslav b1e452b568 type unescaped in *.kt files 2014-10-14 13:02:13 +04:00
Andrey Breslav 4a132599fd getAllOverriddenDescriptors() moved to DescriptorUtils 2014-10-13 15:38:22 +04:00
Andrey Breslav 5be4dda58b Unit obtained through a generic substitution should not be mapped to VOID 2014-10-13 15:38:14 +04:00
Andrey Breslav a737352b5d Assertions when approximating platform types in delegation by expression 2014-10-13 15:38:13 +04:00
Andrey Breslav f1c66fa6b0 Assertions on approximation of platform types to non-null types
- for most expressions (ExpressionCodegen.genQualified)
2014-10-13 15:38:13 +04:00
Andrey Breslav f5cc3e1a92 Use TypeUtils.isNullableType() in codegen 2014-10-13 15:38:02 +04:00
Michael Bogdanov 5abc2dac4e Generate labeled statements as statements 2014-10-13 11:31:15 +04:00
Michael Bogdanov 9d72036ba5 Fix for KT-5995: Labeled val causes an exception from the back-end
#KT-5995 Fixed
2014-10-13 11:30:28 +04:00
Michael Bogdanov 605c9f48b4 Added inline annotation check on local funs 2014-10-11 13:53:43 +04:00
Michael Bogdanov 2a1520228e Support inheritance from java 8 interfaces
#KT-5969 In Progress
2014-10-11 13:53:43 +04:00
Pavel V. Talanov ec077d5f8f Minor: rename DiagnosticHolder -> DiagnosticSink 2014-10-09 20:32:53 +04:00
Michael Bogdanov d4307c69d2 Fix for KT-4301: Too many StringBuilders on string concatenations
#KT-4301 Fixed
2014-10-09 12:23:06 +04:00
Michael Bogdanov 4a078c1143 Temporary disable local fun inlining (it's not supported now) 2014-10-09 10:38:14 +04:00
Nikolay Krasko e85b36cdff Store resolution context for light classes to prevent back-end fail 2014-10-09 02:28:41 +04:00
Valentin Kipyatkov 852fc8bc5d More renames of TypeRef to TypeReference 2014-10-08 15:41:47 +04:00
Michael Bogdanov f8052817a8 Rollback some changes in MutableClosure 2014-10-07 18:43:29 +04:00
Ilya Ryzhenkov 72f96cd55c Generate bridges when creating SAM wrapper not from closure. 2014-10-07 17:48:17 +04:00
Michael Bogdanov 6bcb2e9001 Temporary fix for KT-5912
#KT-5912 Fixed
2014-10-07 17:48:17 +04:00
Michael Bogdanov bb3f1f1fb7 Fix for KT-5467: JVM codegen doesn't support capture of many extension receivers
#KT-5467 Fixed
2014-10-07 17:21:10 +04:00
Michael Bogdanov c3cfe33b64 Fix for KT-5495: Support method implementations in local traits
#KT-5495 Fixed
2014-10-07 17:21:10 +04:00
Michael Bogdanov 212d3da950 Fix for KT-5937: Receiver of javaClass-property hasn't been generated
#KT-5937 Fixed
2014-10-07 17:21:10 +04:00
Michael Bogdanov d0d207f387 Fix for KT-3584: Wrong bytecode generated for local class with default parameters and captured local val
#KT-3584 Fixed
2014-10-07 10:13:53 +04:00
Michael Bogdanov 989cae9f1f Fix for KT-4357: Compiler error with infix call to Array.get
#KT-4357 Fixed
2014-10-07 10:13:53 +04:00
Michael Bogdanov 7be48c7336 Support move on depth 2 2014-10-07 10:13:52 +04:00
Michael Bogdanov e6c98078b3 Fixes for KT-4733 UnsupportedOperationException: don't know how to move type J to top of stack; KT-3430 VerifyError on a safe call to a primitive value
#KT-4733 Fixed
  #KT-3430 Fixed
2014-10-07 10:13:52 +04:00
Michael Nedzelsky df15e4767b extract getTraitMethods from ImplementationBodyGen to CodegenUtil 2014-10-07 08:37:20 +04:00
Michael Bogdanov 609caa8159 Clean 2014-10-03 17:24:15 +04:00
Michael Bogdanov 15043b3c6d Fixes for KT-4991: Prefix/postfix expressions resolved to local extensions are not supported in codegen;
KT-4989: Verify error on local functions and extensions;
KT-4987: NegativeArraySizeException on local extension convention function on nullable Int

  #KT-4991 Fixed
  #KT-4989 Fixed
  #KT-4987 Fixed
2014-10-03 17:24:14 +04:00
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
Svetlana Isakova 20f3403c80 Rename: this object, receiver argument -> dispatch receiver, extension receiver 2014-10-01 18:52:51 +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
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 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 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