Denis Zharkov
fd0c92e307
Record inner class info for interface and DefaultImpls
2015-09-30 08:19:51 +03:00
Denis Zharkov
a101fffd9a
Change INTERFACE_IMPL_CLASS_NAME: $TImpl -> DefaultImpls
2015-09-30 08:19:51 +03:00
Valentin Kipyatkov
069ce12604
Accessor naming should be locale-independant
2015-09-29 18:32:24 +03:00
Valentin Kipyatkov
420c6856be
Changed naming algorithm of accessor name generation: "isXXX" and "kClass" cases affected
2015-09-29 18:32:24 +03:00
Alexander Udalov
1036506b25
Introduce new string table optimized for JVM class files
...
This format of the string table allows to reduce the size of the Kotlin
metadata in JVM class files by reusing constants already present in the
constant pool. Currently the string table produced by JvmStringTable is not
fully optimized in serialization (in particular, the 'substring' operation
which will be used to extract type names out of generic signature, is not used
at all), but the format and its complete support in the deserialization
(JvmNameResolver) allows future improvement without changing the binary version
2015-09-29 16:26:28 +03:00
Michael Nedzelsky
c62b9dc416
remove test for KT-2257: cannot access private namespace var in multi-file namespace
2015-09-25 21:16:04 +03:00
Ilya Gorbunov
1622cf9506
Fix stdlib facade names in bytecode generation and decompilation tests.
2015-09-25 21:10:13 +03:00
Yan Zhulanow
aada13c91f
Deprecate @publicField
2015-09-25 19:51:07 +03:00
Yan Zhulanow
cc2d005984
Make lateinit diagnostics more clear
2015-09-25 19:51:06 +03:00
Yan Zhulanow
6db9344659
Fix compiler tests
2015-09-25 19:20:20 +03:00
Denis Zharkov
505cb37052
Generate deprecated flag on getter of const val's
2015-09-25 18:12:45 +03:00
Mikhail Glukhikh
103bb320c8
Do not generate non-function/getter/setter (expression) annotations on anonymous functions
2015-09-25 17:46:38 +03:00
Denis Zharkov
3f6cadf9b7
Change FUNCTION_EXPRESSION_WITH_NAME severity to ERROR
...
Also drop deprecation related parts and get rid of usages of this `feature` within testData
2015-09-25 08:29:26 +03:00
Stanislav Erokhin
88815c40cc
Minor. Fix testdata.
2015-09-24 14:07:51 +03:00
Michael Bogdanov
e5334ed9b8
Compare arrays via equals (not Arrays.equals) in data classes
2015-09-24 12:00:19 +03:00
Michael Bogdanov
cf57d56ab3
Don't generate private members in interface
2015-09-24 12:00:18 +03:00
Michael Bogdanov
2e6b56691c
Fix for: KT-8089 NoSuchFieldError
...
#KT-8089 Fixed
2015-09-24 09:36:46 +03:00
Michael Nedzelsky
01ece0faa4
Revert "fix tests (internal -> public)"
...
This reverts commit e86bf03e76 .
2015-09-23 17:45:40 +03:00
Dmitry Petrov
3cd1c222f0
Generate delegates to multifile class members in package facade classes
...
(unless using -Xmultifile-package-facades option)
2015-09-23 17:41:13 +03:00
Dmitry Petrov
5cdbdfc2cc
- Annotate package facades with java.lang.Deprecated.
...
- Provide KotlinDelegatedMethod annotation on package facade members.
2015-09-23 17:41:12 +03:00
Denis Zharkov
dcb84a7d0a
Make annotations-modifiers private and fix some lost usages
...
It's needed to prevent usages of them as real annotation/type.
But we can't remove them, because currently some modifiers
are artificially resolved as annotations of those classes.
2015-09-23 12:18:12 +03:00
Denis Zharkov
098f5462eb
Drop inlineOptions and fix forgotten usages
2015-09-23 12:18:12 +03:00
Denis Zharkov
d937a7cefc
Generate field for const-val with same visibility as desciptor
...
Also add test checking that constant static final fields generated for them
2015-09-23 08:20:57 +03:00
Michael Nedzelsky
e86bf03e76
fix tests (internal -> public)
2015-09-23 07:49:29 +03:00
Dmitry Jemerov
4ca434da54
remove support for 'trait' keyword
2015-09-22 15:00:24 +02:00
Mikhail Glukhikh
a1e3471d92
"field": deprecated warnings introduced, compiler tests migrated to the new syntax
2015-09-21 15:48:00 +03:00
Mikhail Glukhikh
9f640b00d9
"field": synthetic variable creation in accessors, codegen changed accordingly, a set of tests, relevant code fix (j2k)
2015-09-21 15:47:49 +03:00
Dmitry Petrov
7f4ae52517
Generate annotations for single-file classes.
2015-09-21 12:10:40 +03:00
Ilya Gorbunov
9c974b6c5c
Fix deprecations in testData: BlackBoxWithStdLibCodegenTest
2015-09-19 04:33:20 +03:00
Ilya Gorbunov
e40a5457e3
Fix deprecations in testData: arrayOf usages.
2015-09-19 04:32:56 +03:00
Stanislav Erokhin
387d16d1d5
Regenerate RangesCodegenTest
2015-09-18 21:00:19 +03:00
Denis Zharkov
9dada595b6
Replace deprecated annotations with modifiers in testData
2015-09-18 10:14:41 +03:00
Denis Zharkov
4850fd10f0
Regenerate test data containing rendered descriptors
...
Introduced '@' after each annotation
2015-09-18 10:14:39 +03:00
Denis Zharkov
9adde77c47
Replace inlineOption(ONLY_LOCAL_RETURN) with crossinline in testData
2015-09-18 10:14:33 +03:00
Denis Zharkov
bae3320d52
Get rid of deprecated annotations in testData
2015-09-18 10:14:32 +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
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
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
Yan Zhulanow
01b2d02196
Remove @get: @set:, reorder remaining annotation targets
2015-09-11 22:32:23 +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
908228a3cf
Test for obsolete KT-8133
...
#KT-8133 Obsolete
2015-09-10 12:43:27 +03:00
Michael Bogdanov
a5f7df3ebf
Fix for KT-9064
...
#KT-9064 Fixed
2015-09-10 11:08:02 +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
e88584742e
basic multifile class codegen tests
2015-09-09 19:08:18 +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
Dmitry Petrov
bc5e29df9f
update tests: jvmName --> JvmName
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