Commit Graph

3152 Commits

Author SHA1 Message Date
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