Commit Graph

960 Commits

Author SHA1 Message Date
Alexey Sedunov 8cff709bfb #KT-3023 Fixed 2012-11-07 18:33:21 +04:00
Alexander Udalov 415b6f8efe Generate bridges for super-calls only when needed
#KT-2887 Fixed
2012-11-07 17:06:19 +04:00
Alexander Udalov 89b8bbec57 Do not add extra 'this' parameter for TImpl's accessor
Fixes weird cases like super-call from a closure inside a trait with a required
class
2012-11-07 17:06:18 +04:00
Alexander Udalov 2edb89b5c5 Refactor mysterious code in ExpressionCodegen
'super' receiver is now generated in visitSuperExpression()
2012-11-07 17:06:17 +04:00
Alexander Udalov 73282c41dc Remove useless StackValue.valueOf() 2012-11-07 17:06:16 +04:00
Alexander Udalov a9aef66b15 Remove useless StackValue.upcast() 2012-11-07 17:06:16 +04:00
Alexander Udalov e89ccf5f1b A couple toString() methods in backend 2012-11-07 17:06:15 +04:00
Alexander Udalov cd35a6626e KT-2963 VerifyError using traits with required classes
#KT-2963 Fixed
2012-11-07 17:06:14 +04:00
Natalia.Ukhorskaya f139b637f3 Automatically cast error for intrinsic methods in array
#KT-2997 Fixed
2012-11-07 16:28:46 +04:00
Natalia.Ukhorskaya 91e83c2860 Wrong instruction for invoke private function
#KT-2202 Fixed
2012-11-02 11:49:10 +04:00
Natalia.Ukhorskaya a9c567d19b Add missed initializer for setter 2012-11-02 11:18:48 +04:00
Natalia.Ukhorskaya 481afeb914 Use getfield or putfield instructions for private properties instead of invokevirtual getA or setA 2012-11-02 11:18:47 +04:00
Andrey Breslav ec255e8342 NO_RECEIVER_PARAMETER is now simply null 2012-11-01 19:53:22 +04:00
Andrey Breslav 4955ce5caa ReceiverDescriptor renamed to ReceiverValue 2012-10-31 23:38:53 +04:00
Andrey Breslav a91a99e5be getImplicitReceiverHierarchy() returns a List 2012-10-31 23:38:53 +04:00
Andrey Breslav 555ac07b55 Migrating scopes onto ReceierParameterDescriptor
Getting rid of getImplicitReceiver() in JetScope
2012-10-31 23:33:12 +04:00
Andrey Breslav bc592cb5cd Migrating descriptors onto ReceiverParameterDescriptor 2012-10-31 23:33:12 +04:00
Natalia.Ukhorskaya 3b58eb4b60 Generate copy function for data classes
#KT-2779 Fixed
2012-10-31 15:46:48 +04:00
Alexander Udalov 4c5fe70804 Do not compare boxed values with 0 via IFEQ/IFNE 2012-10-30 22:54:20 +04:00
Rafael Cordones cb99f26807 KT-3002 optimized ==/!=0
Optimize byte-code generation for integer comparisons != and ==.
Work done in Hackergarten Vienna.
Co-authored-by: Kilian Matt <kilian.matt@gmail.com>
2012-10-30 22:11:04 +04:00
Evgeny Gerashchenko 01311a1793 Moved and renamed DescriptorUtils.getInnerClasses 2012-10-30 18:41:01 +04:00
Alexander Udalov 3ca976ee77 Generate bridges for delegates 2012-10-30 16:48:02 +04:00
Alexander Udalov dc5174670d Minor, kill useless param 2012-10-30 16:48:00 +04:00
Alexander Udalov 8a0c057bd0 Remove OwnerKind.DelegateKind
It's not used anywhere anymore.

Add another assertion to checkMustGenerateCode()
2012-10-30 16:47:58 +04:00
Alexander Udalov fcbb5fe191 DelegateKind is not needed when generating delegates
"this.context" is correct and more useful
2012-10-30 16:47:56 +04:00
Alexander Udalov c3854e9bd4 Minor refactoring in delegate codegen 2012-10-30 16:47:54 +04:00
Alexander Udalov 142acba6f1 Remove unused method 2012-10-30 16:47:52 +04:00
Alexander Udalov 288e3a7b40 Cast arguments to proper types when generating delegates
Also minor refactoring in a couple places to adopt this style
2012-10-30 16:47:50 +04:00
Alexander Udalov 4cfe68da1e Coerce any type to Number before unboxing 2012-10-30 16:47:46 +04:00
Peter Kofler 28160ecb11 fix KT-2892 2012-10-29 22:16:43 +01:00
Peter Brachwitz 81de3cd46a Fix compilation of infix calls (KT-2929)
#KT-2929 Fixed
2012-10-29 22:01:56 +01:00
Svetlana Isakova d45db0a331 created subpackage 'util' 2012-10-29 17:11:58 +04:00
Svetlana Isakova 152368eb04 ResolvedCall, ResolvedValueArgument moved to 'model' subpackage 2012-10-29 17:11:57 +04:00
Svetlana Isakova 06cee8bc16 AutoCastReceiver moved to autocasts package 2012-10-29 17:11:56 +04:00
Svetlana Isakova b395d33ff0 debug names for temporary traces added 2012-10-29 14:41:49 +04:00
Alexander Udalov 880852861c A couple utility methods
PsiCodegenPredictor.getFileForCodegenNamedClass() returns JetFile which
contains a declaration which will produce a class with a given name.
PsiCodegenPredictor.getFileForNamespacePartName() returns JetFile which
produces a namespace part with the given name.

BindingContextUtils.getContainingFile() returns JetFile which contains a
declaration which is matched to a given descriptor.

DescriptorUtils.findTopLevelParent() finds a top-level (i.e. its containing
declaration is NamespaceDescriptor) parent for a descriptor.

Also DescriptorUtils.isTopLevelFunction() is changed a little to accept not
only a function, but any descriptor
2012-10-25 21:28:43 +04:00
Alexander Udalov a8798de8d0 NamespaceCodegen.getNamespacePartInternalName()
Should be used instead of getMultiFileNamespaceInternalName()
2012-10-25 21:28:42 +04:00
Alexander Udalov e7a7afa0be Sort all namespace files by name prior to assigning names in codegen
This helps to make names of closures etc. stable across compilation, should
also probably help to implement incremental compilation.

No new tests added
2012-10-25 21:28:41 +04:00
Sergey Mashkov edb8797fa6 KT-2987 java.lang.AbstractMethodError/java.lang.NoSuchMethodError for delegated class by parameterized parent
#KT-2987 Fixed
2012-10-25 16:26:58 +04:00
Natalia.Ukhorskaya a79a31cf01 #KT-2811 Fixed VerifyError on smart-cast 'this' 2012-10-23 13:20:29 +04:00
Natalia.Ukhorskaya 29ca8faa4e Replace CodegenUtils.isDeprecated to KotlinBuiltIns.isDeprecated 2012-10-18 19:03:34 +04:00
Alexander Udalov ce2b915645 Generate line numbers for static delegates
Fixes debugger's "step into" for multi-file package
2012-10-17 17:57:54 +04:00
Andrey Breslav e81f38b6a8 JetStandardLibrary -> KotlinBuiltIns 2012-10-17 13:48:05 +04:00
Andrey Breslav c719ae427a JetStandardClasses -> KotlinBuiltIns 2012-10-17 13:48:05 +04:00
Natalia.Ukhorskaya 482fabfcce Write ACC_DEPRECATED in byte codes.
#KT-2950 Fixed
2012-10-16 14:41:19 +04:00
Natalia.Ukhorskaya d55a0fcacb Move isDeprecated function to CodegenUtil 2012-10-16 14:41:18 +04:00
Alexander Udalov 8bfb2ddcce Generate bridges for properties declared in constructor
#KT-2926 Fixed
 #KT-2833 Fixed
2012-10-11 17:38:46 +04:00
Alexander Udalov 5bc9291d61 Refactor PropertyCodegen
1) Introduce AsmUtil.getModalityAccessFlag()
2) Inline private methods generateDefaultGetter() and generateDefaultSetter() not
to confuse them with anything else
3) Remove dead code in PropertyCodegen.gen(), assert that it never happens
2012-10-11 17:38:46 +04:00
Natalia.Ukhorskaya 78d22e9f81 KT-2823 TypeCastException has no message
#KT-2823 Fixed
2012-10-11 15:41:49 +04:00
Alexander Udalov a31b748092 JavaElementFinder now correctly finds namespace$src$ classes
No new tests added

 #KT-2839 Fixed
2012-10-10 18:11:11 +04:00