Stanislav Erokhin
5786e620e8
Minor. remove import package usages from sources
2015-09-18 21:00:16 +03:00
Denis Zharkov
9c4564a5a6
Get rid of deprecated annotations and modifiers in project code
2015-09-18 09:34:27 +03:00
Alexander Udalov
4bc257bd73
Minor refactoring in LazyJavaPackageScope
2015-09-16 01:44:27 +03:00
Alexander Udalov
296212eab1
Merge two JetTypeMapper#mapToCallableMethod methods
2015-09-15 15:55:20 +03:00
Alexander Udalov
7c0780455a
Remove unused parameter of JetTypeMapper#mapOwner, simplify lots of code
2015-09-15 15:55:20 +03:00
Alexander Udalov
a946f787bc
Fix exception from data class codegen for light classes
...
EA-66827
2015-09-15 13:11:16 +03:00
Dmitry Petrov
47b8853051
Generate light classes for single-file facades using PackageCodegen.
2015-09-15 10:25:40 +03:00
Dmitry Petrov
ef6da03db2
Do not generate facade for single-file light classes
2015-09-14 21:26:33 +03:00
Pavel V. Talanov
d6a9551392
Do not generate parts of multifile facade when building light classes
...
Building facade class is enough for this purpose
2015-09-14 19:40:11 +03:00
Dmitry Petrov
50ff2a3ad2
Multifile facade should contain reflection data,
...
otherwise callable references to stdlib functions will not work in the migration scheme.
2015-09-14 17:47:49 +03:00
Dmitry Petrov
5d0243d46f
Fix incremental compilation tests
2015-09-14 17:47:49 +03:00
Valentin Kipyatkov
08e7a9d826
Made methods generated from declarations marked with @HiddenDeclaration synthetic in JVM
2015-09-14 17:42:40 +03:00
Mikhail Glukhikh
b4399b8b8b
AnnotationTarget.CLASSIFIER and KotlinTarget.CLASSIFIER both dropped (second step)
2015-09-14 12:51:11 +03:00
Dmitry Petrov
1586a2df8e
Make stdlib work with -Xmultifile-package-facades.
...
Fixed wrong owner mapping in presence of -Xmultifile-package-facades.
Fixed backing field mapping issue.
Added more tests.
2015-09-14 11:26:29 +03:00
Dmitry Petrov
838433ba8a
- call multifile class members (compiling against binaries)
...
- inline multifile class members
HACK? scope-based part/facade resolution
2015-09-14 11:25:42 +03:00
Dmitry Petrov
50f83da6da
- call multifile class members (compiling against binaries)
...
- inline multifile class members
2015-09-14 11:25:42 +03:00
Dmitry Petrov
5f9a59d655
- bytecodeTextMultifile - framework for bytecode text tests
...
with multiple Kotlin source files
- bytecodeTextMultifile/partMembersCall, initial import
2015-09-14 11:25:42 +03:00
Dmitry Petrov
2931e474e1
- InnerClasses & EnclosingMethod attributes for local classes
...
in multifile part members
- invocation of multifile part/facade members
(TODO: deserialized descriptor case)
- inlining of multifile part/facade members
(TODO: inline against binaries case)
2015-09-14 11:25:41 +03:00
Alexander Udalov
6cecc66d10
Improve ABI version from one number to "major.minor.patch"
2015-09-11 19:28:46 +03:00
Mikhail Glukhikh
3770e7f49f
Introduction of AnnotationTarget.CLASS as a replacement for CLASSIFIER (first step)
2015-09-11 17:59:40 +03:00
Natalia Ukhorskaya
137f8b242a
Wrong stepping for if followied by captured variable
...
#KT-9118 Fixed
2015-09-11 11:27:53 +03:00
Yan Zhulanow
fbc769b0e9
Clear cache on fragment onDestroy()
2015-09-11 04:30:08 +03:00
Alexander Udalov
4dbfce605e
Minor, improve exception message for non-deserialized types
2015-09-10 21:45:10 +03:00
Denis Zharkov
df97496a16
Deprecate 'kotlin.throws' in favor of 'kotlin.jvm.Throws'
2015-09-10 20:39:05 +03:00
Dmitry Petrov
6850e9180e
Effectively this is a return of "${facadeName}__${partName}" scheme.
...
Suggestions from @udalov:
- Make multifile class parts synthetic.
- Multifile class parts should have well-formed Java identifiers as names.
- Multifile class part names should contain facade name.
Add test with clashing part names.
Add test with local generic classes used in method signatures
(it works with parts names not being well-formed Java identifiers, though).
Capitalized annotations.
2015-09-10 18:03:34 +03:00
Alexander Udalov
a1a2adf523
Fix inheritance from protected members of interfaces
...
#KT-3029 Fixed
2015-09-10 15:42:58 +03:00
Michael Bogdanov
a5f7df3ebf
Fix for KT-9064
...
#KT-9064 Fixed
2015-09-10 11:08:02 +03:00
Pavel V. Talanov
ee393955c4
Use correct codegen for creating light classes for file facade
2015-09-09 21:21:00 +03:00
Dmitry Petrov
0839d78797
Fix CodegenFileClassesProvider problems related to wrong/incomplete code in IDE
2015-09-09 19:08:19 +03:00
Dmitry Petrov
bf1c0260f1
Multifile class part names are "1${PartName}".
...
Multifile class parts are final.
2015-09-09 19:08:19 +03:00
Dmitry Petrov
025be4f541
No more CodegenContext.STATIC
2015-09-09 19:08:19 +03:00
Dmitry Petrov
cd341e957e
Cleanup after review
...
+ stub builder test for multifile class
2015-09-09 19:08:19 +03:00
Dmitry Petrov
8162272106
Cleanup
...
- do not use annotation resolve in CodegenFileClassProvider
- test using private methods across different parts of multifile class
2015-09-09 19:08:19 +03:00
Dmitry Petrov
5e38c99f81
Name clash test for file class vs multifile class
2015-09-09 19:08:19 +03:00
Dmitry Petrov
0c951b2ed3
Decompilation support
...
- class header reader for KotlinMultifileClass, KotlinMultifileClassPart
- proper implClassName for multifile class members
2015-09-09 19:08:18 +03:00
Dmitry Petrov
b3421479f1
cleanup
2015-09-09 19:08:18 +03:00
Dmitry Petrov
a00346a141
MultifileClassCodegen
...
- initial implementation
- new Kotlin file kinds + stub builder
2015-09-09 19:08:17 +03:00
Alexander Udalov
3c4b2994a9
Fix protected call to super method from lambda
...
Previously JVM back-end had an assumption that if we're calling a method
declared in the super class from a lambda via a synthetic accessor, that should
be a super call and it must be done with 'invokespecial'. Which is wrong
because a method declared in the super class may be open and overridden in the
subclass, so 'invokevirtual' should be used. Surprisingly, Java SE verifier
allowed both instructions, but on Android only the latter is possible
#KT-8899 Fixed
#KT-9052 Fixed
2015-09-08 20:28:35 +03:00
Alexander Udalov
1ccd0f9fc2
Add GenerationState to CodegenContext
2015-09-08 20:28:34 +03:00
Alexander Udalov
67d683bc59
Minor, use ResolvedCall#getSuperCallExpression in codegen
2015-09-08 20:28:34 +03:00
Alexander Udalov
8a5e83b947
Refactor CodegenContext#accessibleDescriptorIfNeeded
2015-09-08 20:28:33 +03:00
Dmitry Petrov
c18f87f0c7
Cleanup after review
2015-09-08 13:02:56 +03:00
Dmitry Petrov
2519641b2b
JvmName annotation support, single-file facade case (just rename file facade class)
...
- initial implementation of JvmFileClassesProvider
- migrate some of PackagePartClassUtil usages to JvmFileClassesProvider (mostly in Codegen)
- placeholder ("no resolve") implementation for migration period and unclear cases
- tests
2015-09-08 13:02:56 +03:00
Michael Bogdanov
912111d237
Fix for KT-8948: CompilationException: Back-end (JVM) Internal error: Couldn't inline method call 'foo' into
...
#KT-8948 Fixed
2015-09-08 11:34:40 +03:00
Alexey Tsvetkov
12181d274b
Remove InlineRegistering interface
2015-09-08 05:49:35 +03:00
Alexey Tsvetkov
7e515e3820
Use simple data class TargetId instead of Module to get incremental cache
2015-09-08 05:49:34 +03:00
Alexey Tsvetkov
61423a19f0
Fix incremental compilation of inline call assigned to val
2015-09-08 05:49:34 +03:00
Alexey Tsvetkov
ed5dcf2182
Simplify getting class file path for functions from current module
2015-09-08 05:49:33 +03:00
Alexey Tsvetkov
8cc2e0f68d
Always use class file as inline fun source
2015-09-08 05:49:32 +03:00
Alexey Tsvetkov
f9fe01047d
Fix incremental packages
2015-09-08 05:49:32 +03:00