Commit Graph

2462 Commits

Author SHA1 Message Date
Michael Nedzelsky 618a8622a1 VirtualFileFinderFactory: introduce JvmVirtualFileFinderFactory, JsVirtualFileFinderFactory 2015-05-26 05:03:51 +03:00
Michael Bogdanov 8cf21f24cd Fix for KT-7792: Invalid class file generation: java.lang.ClassFormatError: Invalid length 65522 in LocalVariableTable in class file
#KT-7792 Fixed
2015-05-25 17:06:18 +03:00
Pavel V. Talanov e4c242e66b Remove direct usages of ModuleDescriptor#getPackageFragmentProvider() 2015-05-25 13:00:16 +03:00
Natalia Ukhorskaya 5edc25d2ba Debugger: step into default property getter/setter
#KT-7287 Fixed
2015-05-21 19:17:31 +03:00
Zalim Bashorov ecb824386e Optimize memory usage in SlicedMapImpl (used in BindingContext)
In short:
before these changes: Map<SlicedMapKey<slice, key>, value>
after: Map<key, Map<slice, value>> // where for nested Map used lightweight storage UserDataHolder

Before these changes it stored map from SlicedMapKey to value.
Where SlicedMapKey created for each record and store slice and key.
And now it sored map from key to UserDataHolder.
UserDataHolder store map from slice to value.
2015-05-21 18:53:56 +03:00
Yan Zhulanow b2220ca98a Annotation collector compiler plugin 2015-05-21 15:48:06 +03:00
Michael Bogdanov 5bca1d3c8f Added dianostic error for non-local return on disabled inlines,
Render bytecode diagnostics in BytecodeToolWindow

  #KT-5584 Fixed
2015-05-21 10:06:03 +03:00
Michael Bogdanov ef4981b0ef Report error on indirect inline cycles 2015-05-21 10:06:02 +03:00
Michael Bogdanov 319c5aec60 Fix for KT-7557: NoSuchMethodError when capturing receiver in object expression
#KT-7557 Fixed
   #KT-7769 Fixed
2015-05-21 10:06:01 +03:00
Pavel V. Talanov cfdb1f4ec3 Refactor creation of ModuleDescriptor
Add storageManager to ModuleDescriptorImpl (to be used later)
Extract ModuleParameters to hold default imports and platform class map
Introduce MutableModuleContext to simplify module creation code
2015-05-20 19:45:50 +03:00
Denis Zharkov e98b9ea84e Save annotations of lambda on SAM's method
Also add tests checking that annotations on 'invoke' methods of common lambdas are saved properly

 #KT-6932 Fixed
2015-05-20 09:24:57 +03:00
Denis Zharkov fd4946e552 Annotate $default-method with same annotations as original
#KT-6930 Fixed
2015-05-20 09:24:57 +03:00
Mikhail Glukhikh 1edce76d01 Fix for EA-68569 with a test. #EA-68569 Fixed 2015-05-19 13:55:28 +03:00
Michael Bogdanov 0cb4b8f8d4 Fix outer info generation for scripts 2015-05-19 10:34:34 +03:00
Mikhail Glukhikh fdf0ea5546 Enum warnings fixed: deprecated delimiters, short super constructors, both in project and in libraries 2015-05-18 16:08:16 +03:00
Michael Bogdanov 5cb9671803 Support inlining in scripts and outer expression capturing
#KT-7744 Fixed
2015-05-18 14:47:57 +03:00
Valentin Kipyatkov 67cfd9d516 KT-4909 Smart completion does not work for named arguments
KT-7668 Named argument completion does not work after vararg

 #KT-4909 Fixed
 #KT-7668 Fixed
2015-05-16 17:09:51 +03:00
Evgeny Gerashchenko 0498bd7739 KT-7587 Overloads are not generated during partial compilation of package
#KT-7587 fixed
2015-05-14 21:51:08 +03:00
Evgeny Gerashchenko ca883d8117 Green code. 2015-05-14 21:51:08 +03:00
Alexander Udalov b881827b74 Use descriptors instead of PSI in ImplementationBodyCodegen 2015-05-14 18:40:48 +03:00
Michael Bogdanov 99cad4b43f Support default method invocation via super
#KT-5970 Fixed
2015-05-13 14:52:18 +03:00
Michael Bogdanov d6964525b2 Fix for KT-7490: Bad bytecode generated by delegates and lambdas
#KT-7490 Fixed
2015-05-12 12:06:11 +03:00
Natalia Ukhorskaya 9108d87a57 Add warning for division by zero:
#KT-5529 fixed
2015-05-07 15:41:37 +03:00
Natalia Ukhorskaya 16b17b9e94 Minor: rename 2015-05-07 13:23:59 +03:00
Natalia Ukhorskaya 8c99183970 Write local functions to localVariables table 2015-05-07 13:23:03 +03:00
Michael Bogdanov 49f063522c Inline util functions renaming 2015-05-05 12:47:57 +03:00
Michael Bogdanov e0aa64b8d2 Support functional expression in non-local returns 2015-05-05 12:47:56 +03:00
Denis Zharkov 02659ca22d Adjust project code to new labels syntax 2015-04-30 10:16:42 +03:00
Dmitry Jemerov cce1be3892 rename JetClass.isTrait() to isInterface(); rename ClassKind.TRAIT to INTERACE 2015-04-29 16:50:19 +02:00
Nikolay Krasko 90cdb19324 Add origin for generated jvm overloads and tweak equals methods to distinguish them
- KT-7586 Strange navigation issue

 #KT-7586 Fixed
2015-04-29 15:20:31 +03:00
Alexander Udalov 0732b78853 Serialize/deserialize annotations on types 2015-04-29 01:03:55 +03:00
Mikhail Glukhikh 054e85338d Fix for EA-68153 (incorrect nullability) 2015-04-28 17:37:56 +03:00
Pavel V. Talanov ac2cb9af74 Remove some usages of KotlinBuiltIns.getInstance()
Introduce DeclarationDescriptor.builtIns extension to get builtins where descriptors are available
Introduce various utilities in KotlinBuiltIns to check for primitive types and get fq names of builtins
2015-04-28 12:49:34 +03:00
Alexander Udalov 167942f4bb Add constant "invoke" to OperatorConventions 2015-04-28 00:51:50 +03:00
Alexander Udalov 94eac98500 Reformat some code, optimize imports, remove unused
Mostly in JVM codegen intrinsics
2015-04-28 00:35:53 +03:00
Natalia Ukhorskaya 47bc89775d Minor: add message for assert EA-64788 2015-04-27 18:43:48 +03:00
Michael Bogdanov 39fabda611 New diagnostic for Java default method call via super in trait 2015-04-24 18:54:09 +03:00
Michael Bogdanov 0854c601b4 Fix non local returns to functional expressions 2015-04-24 18:54:09 +03:00
Alexander Udalov d2cd7b00bb Map intrinsic companion objects in JavaToKotlinClassMap
Get rid of multiple usages of IntrinsicObjects where JavaToKotlinClassMap was
already used, simplify code, and support loading of *CompanionObject as Kotlin
built-in companions from Java code.

Also fix a small bug where Boolean was considered a class with an intrinsic
companion in IntrinsicObjects, although it was not
2015-04-24 02:09:26 +03:00
Alexander Udalov a59fa5015e Merge KotlinToJavaTypesMap into JavaToKotlinClassMap
Also use this new Kotlin->Java mapping in RuntimeTypeMapper instead of
inheriting directly from JavaToKotlinClassMapBuilder
2015-04-24 02:09:05 +03:00
Alexander Udalov deff3968db Simplify KotlinToJavaTypesMap, use only one map 2015-04-24 02:09:03 +03:00
Alexander Udalov 23a792aa44 Somewhat simplify mapping of JVM primitive types 2015-04-24 02:09:03 +03:00
Alexander Udalov 1a48b5750e Minor, remove unnecessary unwrapping of VariableAsFunctionResolvedCall
Almost all of its methods delegate to functionCall already
2015-04-23 22:09:02 +03:00
Alexander Udalov 07c2442405 Make $default methods non-private, avoid generating accessors for them
#KT-5786 Fixed
2015-04-23 22:09:02 +03:00
Michael Bogdanov df2900c4e4 Introduced ParameterDescriptor type 2015-04-23 15:41:59 +03:00
Michael Bogdanov 53b8a1d56e Fix for KT-7544: Backend fails when inlining nested calls with reified type parameter and default value parameter
#KT-7544 Fixed
2015-04-23 15:41:59 +03:00
Ilya Gorbunov 526348b207 Implement toTypedArray as non-intrinsic.
Remove unused intrinsic method.
2015-04-23 14:10:42 +03:00
Evgeny Gerashchenko f5677d8424 Converted JetPsiUtil.getElementTextWithContext() to Kotlin extension function. 2015-04-22 14:10:00 +03:00
Mikhail Glukhikh e64dab0ae9 Review fixes after automatic code analysis 2015-04-21 15:29:34 +03:00
Mikhail Glukhikh 27625b04e1 Refactoring of JetTypeInfo / BindingContext. Loop data flow analysis corrected.
Now BindingContext includes expression type info instead of jump out possible, data flow info and expression type.
getType() was added into BindingContext, getType() and recordType() were added into BindingTrace.
JetTypeInfo now includes also jump possible flag and jump point data flow info.
Old TypeInfoWithJumpInfo deleted.
TypeInfoFactory introduced to create JetTypeInfo instances.
A pack of extra tests for break / continue in loops added.
2015-04-21 15:29:07 +03:00