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
Denis Zharkov
3b80bf5bda
Make call to additional type checker if no error happened
2015-09-02 10:38:43 +03:00
Alexander Udalov
f7a178f978
Report warning on 'Singleton.javaClass'
...
As a temporary measure before 'javaClass' property is deprecated and removed.
Getting the Java class of a singleton this way is confusing and most of the
time is a failed attempt to get the Java class of a class with a companion
object (e.g. 'Int.javaClass')
2015-09-01 11:36:57 +03:00
Yan Zhulanow
f86fe6a8d5
Allow multiple non-repeatable annotations with different targets
2015-08-31 15:33:02 +03:00
Stanislav Erokhin
4c7bafce45
Global replace JetScope to LexicalScope
2015-08-29 01:45:56 +03:00
Valentin Kipyatkov
9d7e6600d4
Got rid of allKotlinClasses() method
2015-08-27 13:34:33 +03:00