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
Michael Bogdanov
8e8ff860d6
New package part naming
2015-09-07 16:28:37 +03:00
Yan Zhulanow
add13cae82
lateinit modifier on property
2015-09-05 00:54:18 +03:00
Denis Zharkov
4159c83282
Support decapitilized obsolete annotations in resolve
...
Annotations like `deprecated`, `jvmStatic`, etc. has been renamed to capitilized themselves.
But we're going to support both versions.
It's hard just to leave both versions of classes as their class-files can clash
when compiled on register-independent file system.
So here is solution (temporary hack):
we just wrap JetScopes for package fragments of `kotlin.*`
to make them search both versions of annotations if their names are contained
in our hardcoded set.
2015-09-04 18:19:32 +03:00
Denis Zharkov
952d45dc8b
Deprecate JVM platform annotations in favor of capitilized themselves
2015-09-04 18:19:31 +03:00
Denis Zharkov
5471a1d18a
Add kotlin.external annotation and deprecate kotlin.jvm.native
2015-09-04 18:19:31 +03:00
Valentin Kipyatkov
37ed77467f
Fixed ReplaceWith quickfix not working when synthetic extensions are used in the pattern
2015-09-03 15:55:57 +03:00
Denis Zharkov
632e336782
Prohibit unsafe covariant conversion for collections invariant in Java
2015-09-02 10:39:29 +03:00