Alexander Udalov
085fc3bf87
Transform anonymous types even for public symbols
...
This became necessary when we removed the requirement to specify types for
public members, because otherwise everything fails not being able to locate the
anonymous class from another module
#KT-9072 Fixed
EA-72801
2015-09-11 19:51:42 +03:00
Alexander Udalov
6cecc66d10
Improve ABI version from one number to "major.minor.patch"
2015-09-11 19:28:46 +03:00
Ilya Chernikov
990c2dc5d7
Extending daemon diagnostics reporting in tests
2015-09-10 22:31:00 +02:00
Ilya Chernikov
dc3c1beeb9
Fixes after review, adding basic options parsing tests
2015-09-10 22:30:58 +02:00
Ilya Chernikov
96558c52ff
Refactorings, reformatting code, applying code style and other cleanup
2015-09-10 22:30:57 +02:00
Ilya Chernikov
c4719175f9
Refactoring startup and shutdown, refactoring service implementation, implementing error and info reporting to compiler output, idle autoshutdown mechanisms, fixing TargetId serializability, some other refactoring
...
Fixing stream to log handler (by removing non-working optimization), fixing idle time calculation, reporting refactorings
2015-09-10 22:30:56 +02:00
Ilya Chernikov
406bfba473
Implementation of multiple daemon instances management
2015-09-10 22:30:55 +02:00
Alexander Udalov
3e5c8d1b79
Fix NPE on empty JVM name
...
#KT-9113 Fixed
2015-09-10 21:44:18 +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
Mikhail Glukhikh
9b11b5300c
Elvis DFA: now only left part is taken into account #KT-9100 Fixed
...
I had to fix a few incorrect tests using something like x!! in Elvis right part, and also one bug in our code
2015-09-10 17:50:57 +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
Pavel V. Talanov
daaefcc7fd
Test completion of single file facades in java
2015-09-09 21:20:35 +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
e88584742e
basic multifile class codegen tests
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
Michael Bogdanov
a52281f52a
Support default module name for withKotlin ant task
2015-09-09 13:32:39 +03:00
Denis Zharkov
7c16fb8a89
Fix StringIndexOutOfBoundsException
...
#EA-72837 Fixed
2015-09-09 12:51:19 +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
Denis Zharkov
297e9484ba
Deprecate decapitalized annotations
2015-09-08 17:50:41 +03:00
Mikhail Glukhikh
1dee922861
kotlin.annotation.Target / Retention have now more priority than same java classes if import java.lang.annotation.* is available
2015-09-08 17:18:31 +03:00
Mikhail Glukhikh
0257f46ebb
Special modifier parsing for enum entries: last of them is considered as an enum entry name #KT-9088 Fixed
2015-09-08 17:18:28 +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
Denis Zharkov
676ca86ea4
Deprecate escaped modifiers and unescaped annotations
2015-09-08 12:11:30 +03:00
Michael Bogdanov
25cd9de71a
Support default module name in ant task
2015-09-08 11:34:40 +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
Mikhail Glukhikh
24252b64d0
Test and fix for NPE in CFA #KT-9078 Fixed #EA-71535 Fixed
2015-09-08 11:31:15 +03:00
Denis Zharkov
fc447e2d2f
Parse some builtin annotations as modifiers
...
But still resolve them as annotations.
Mostly it's needed as begin of migration path, one day they become modifiers anyway
Some tests are dropped because they supposed that `annotation` should have parameter
2015-09-08 08:53:35 +03:00
Alexey Tsvetkov
b25dfabbcc
Fix modules tests
2015-09-08 05:49:32 +03:00
Alexey Tsvetkov
5f05f0d678
Move Module to util method
2015-09-08 05:49:32 +03:00
Alexey Tsvetkov
e90ecc48c5
Save target type in Kotlin Builder
2015-09-08 05:49:32 +03:00
Svetlana Isakova
fe34d1673e
Exception 'Base expression was not processed: function literal' fixed
2015-09-07 17:05:40 +03:00
Svetlana Isakova
0999d8ea8e
Moved 'initial' (renamed from 'topLevel') flag to ConstraintContext
2015-09-07 17:05:39 +03:00
Svetlana Isakova
4f28a0a9a1
KT-8879 Stackoverflow exception on completion from inference
...
#KT-8879 Fixed
Added ConstraintContext storing 'derivedFrom' variables.
This information is used to prevent infinite recursion:
if a variable was substituted in a type of a bound, it shouldn't be substituted there for the second time.
2015-09-07 17:05:39 +03:00
Michael Bogdanov
b58479a169
TEST_MODULE_NAME extraction
2015-09-07 16:29:15 +03:00
Michael Bogdanov
2ca9b3ae0e
Code clean
2015-09-07 16:29:10 +03:00
Michael Bogdanov
20bb9963b3
smoke test fix
2015-09-07 16:29:10 +03:00
Michael Bogdanov
f1c091e897
Serialize mappings via proto
2015-09-07 16:29:03 +03:00
Michael Bogdanov
672d25e7e0
PackagePartProvider refactoring
2015-09-07 16:29:02 +03:00
Michael Bogdanov
9e53a0d057
Debugger fix
2015-09-07 16:28:56 +03:00
Michael Bogdanov
9f0662468f
Lazy module name propagation
2015-09-07 16:28:56 +03:00
Michael Bogdanov
c274ceffe8
PackageFacadeProvider refactoring
2015-09-07 16:28:55 +03:00
Michael Bogdanov
843241848f
Test fix
2015-09-07 16:28:55 +03:00
Michael Bogdanov
43af127ce8
new fixes
2015-09-07 16:28:52 +03:00
Michael Bogdanov
e83ec1017b
Reflection support
2015-09-07 16:28:51 +03:00
Michael Bogdanov
357a6d9902
repl fix
2015-09-07 16:28:51 +03:00
Michael Bogdanov
e18c1bb360
propagate proper packageMappingProvider in tests
2015-09-07 16:28:50 +03:00
Michael Bogdanov
5581d4e207
Don't verify mapping files and proper packagemapper propagation
2015-09-07 16:28:49 +03:00