Alexander Udalov
2b269b2652
Improve ABI version error reporting in the compiler
...
- only report ABI errors if there's at least one other error
- append additional helpful information to the "unresolved reference" error
2015-09-16 01:44:27 +03:00
Dmitry Jemerov
9e6c0e7ee2
code review
2015-09-14 18:05:00 +02:00
Dmitry Jemerov
35de13a6b2
update Java references to file class when a file is renamed
2015-09-14 18:03:55 +02:00
Mikhail Glukhikh
67f714434f
Error message on JVM repeated annotation changed
2015-09-14 16:20:07 +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
Nikolay Krasko
6faf3f1eba
Fix deadlock in ReflectionAPICallChecker because of conflict in lazy() and storageManager
2015-09-12 15:16:10 +03:00
Alexander Udalov
6cecc66d10
Improve ABI version from one number to "major.minor.patch"
2015-09-11 19:28:46 +03:00
Alexander Udalov
3e5c8d1b79
Fix NPE on empty JVM name
...
#KT-9113 Fixed
2015-09-10 21:44:18 +03:00
Alexander Udalov
fb31980c0b
Fix EA-68149 which happened on editing Scala sources
2015-09-10 21:44:16 +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
Pavel V. Talanov
e9c1df0cb9
J2K CliLightClassGenerationSupport: prettify
2015-09-09 21:21:51 +03:00
Pavel V. Talanov
cda35f609a
Build light classes for file facades
2015-09-09 21:20:52 +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
cd341e957e
Cleanup after review
...
+ stub builder test for 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
b3421479f1
cleanup
2015-09-09 19:08:18 +03:00
Dmitry Petrov
879d7b1b24
workaround for NPE in proguard
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
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
Dmitry Petrov
c18f87f0c7
Cleanup after review
2015-09-08 13:02:56 +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
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
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
Alexey Tsvetkov
0988b21e9c
Use both target name and target type to get incremental cache from backend
2015-09-08 05:49:32 +03:00
Alexey Tsvetkov
e0419f956e
Recompile only files that call changed inline functions
2015-09-08 05:49:30 +03:00
Alexey Tsvetkov
64cc75c1ba
Save info about inlined calls to incremental caches
2015-09-08 05:49:29 +03:00
Michael Bogdanov
5805c42305
Write abi version to mapping file
2015-09-07 16:29:16 +03:00
Michael Bogdanov
466b535ba9
Get rid of DeserializedNewPackageMemberScope.kt
2015-09-07 16:29:13 +03:00
Zalim Bashorov
f48346f272
Introduce IncrementalPackagePartProvider to load unchanged compiled package parts using module mapping info from incremental cache
2015-09-07 16:29:07 +03:00
Zalim Bashorov
ec62cccb1a
Fix incremental compilation for new package parts
2015-09-07 16:29:06 +03:00
Michael Bogdanov
672d25e7e0
PackagePartProvider refactoring
2015-09-07 16:29:02 +03:00
Dmitry Petrov
5ca8f7409a
Fix debugger tests.
...
- Index binaries by facade class fqName
- Fix DebuggerUtils: should understand new facades
- Refactor IDELightClassGenerationSupport
- Add facadeSimpleName to KotlinFileStub
2015-09-07 16:29:02 +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
Dmitry Petrov
5fdfe8df3c
PackagePartClassUtils converted to Kotlin and refactored
2015-09-07 16:28:53 +03:00
Michael Bogdanov
1fcacecf93
stubs for new components
2015-09-07 16:28:48 +03:00
Michael Bogdanov
6dcd059009
new kompiler parameter
2015-09-07 16:28:47 +03:00
Dmitry Petrov
83336553df
Use special index to record files corresponding to static facade classes.
2015-09-07 16:28:45 +03:00
Dmitry Petrov
ab8b5d05ed
Light class generation for new facades/parts.
...
1st working (naive) implementation.
2015-09-07 16:28:45 +03:00
Dmitry Petrov
1c81b00143
Use ASCII capitalization for part class names
2015-09-07 16:28:44 +03:00
Dmitry Petrov
a47eaa2cb5
Change part class naming scheme
...
update tests depending on part class naming
2015-09-07 16:28:42 +03:00
Michael Bogdanov
35d51a8ea4
Update duplicate diagnostic
2015-09-07 16:28:40 +03:00