Dmitry Jemerov
1188e57597
rename @overloads annotation to @jvmOverloads
2015-05-27 12:23:08 +02:00
Alexander Udalov
48b18f18d3
Restore explicit imports of Kotlin function types in Java
...
This is a follow-up to 738a84e259 and
d4965a4f3e . Optimize imports in all files
affected in those commits, drop temporary _.kt
2015-05-26 18:46:27 +03:00
Mikhail Glukhikh
4570872bfd
Postfix expression code generation fixed as per KT-7561.
...
A set of tests for KT-7561 on codegen side, including exotic inc() functions().
#KT-7561 Fixed.
2015-05-26 15:20:37 +03:00
Alexander Udalov
9ba6d91e2e
Prepare JVM runtime for support of reflection on functions
...
Introduce abstract class FunctionReference, which is supposed to be a
superclass for all anonymous classes generated for function references. Each
anonymous subclass will have statically-generated symbol info, which will be
used by reflection to locate the symbol
2015-05-26 15:05:01 +03:00
Alexander Udalov
9aeae7ddc6
Extract FunctionReferenceGenerationStrategy to top level
2015-05-26 15:05:00 +03:00
Alexander Udalov
49004a8b8e
Conform functions to extension functions and vice versa
...
#KT-5989 Fixed
2015-05-26 15:04:56 +03:00
Alexander Udalov
4141e0a8df
Introduce fictitious numbered Function class descriptors
2015-05-26 15:04:54 +03:00
Alexander Udalov
27ed098467
Introduce kotlin.jvm.internal.Lambda, superclass for all lambdas
...
It has its arity precomputed, as opposed to the future KFunctionImpl inheriting
from FunctionImpl, for which the computation of arity can take some time and so
it shouldn't be passed in the constructor and saved as a field
2015-05-26 15:04:54 +03:00
Alexander Udalov
86ecb423f6
Drop generic parameters from FunctionImpl classes in JVM runtime
...
They are not used in any way but cause some complex code in JVM back-end
2015-05-26 15:04:53 +03:00
Alexander Udalov
d4965a4f3e
Add temporary imports for disambiguation
2015-05-26 15:04:52 +03:00
Alexander Udalov
738a84e259
Temporary hack to migrate functions to package kotlin.jvm.functions
...
Add a file in package 'kotlin.jvm.functions' to the project and replace
explicit imports of functions 'kotlin.Function{n}' to two imports 'kotlin.*'
and 'kotlin.jvm.functions.*', so that the codebase can be compiled both by the
old and by the new compiler
2015-05-26 15:04:34 +03:00
Alexander Udalov
7baa7a72e2
Avoid extension functions in Java-facing code in project
...
This is to workaround the coming functions / extension functions global
refactoring and move
2015-05-26 14:27:42 +03:00
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