Commit Graph

2877 Commits

Author SHA1 Message Date
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
Alexander Udalov 8d9618348d Move .java and .kotlin extension properties to kotlin.jvm
Delete the old ones in package kotlin.reflect.jvm because otherwise the code
using those functions will become red in a lot less meaningful way (overload
resolution ambiguity) than if they're deleted (unresolved import)

Based on the work originally done by @dnpetrov

 #KT-8380 Fixed
2015-08-27 08:19:50 +03:00
Dmitry Jemerov 4743a69d76 rename platformName annotation to jvmName 2015-08-25 15:40:46 +02:00
Zalim Bashorov 4dbc08635c Minor: inline last usages of deprecated JetScope::getFunctions(Name) and drop it 2015-08-24 19:50:08 +03:00
Zalim Bashorov 024c2761c8 Ignore lookups to parent scope for find super members 2015-08-24 19:50:07 +03:00
Natalia Ukhorskaya bf7f56d458 Redundant Sam Constructor inspection 2015-08-24 12:37:37 +03:00
Dmitry Jemerov 341f09afd3 rename platformStatic to jvmStatic 2015-08-21 16:59:05 +02:00
Pavel V. Talanov 6c48c29bf9 Make AnalyzerFacade an abstract class instead of interface
Seems to workaround some compiler bug
2015-08-19 21:18:46 +03:00
Pavel V. Talanov 7130e9f881 "container" module exports "javax.inject" dependency 2015-08-19 21:18:34 +03:00
Pavel V. Talanov 0c2650c86c Provide API to get frontend services from plugin code via resoltion facade
API to create ide-side services using frontend services (for now "ide services" cannot be injected into other ide services)
2015-08-19 21:18:31 +03:00
Pavel V. Talanov 52bc84cb5f Introduce LocalDescriptorResolver which handles differences in local declaration resolution between compiler and ide environments 2015-08-19 21:18:28 +03:00
Pavel V. Talanov 2ef5e03f27 Introduce TargetEnvironment and CompilerEnvironment 2015-08-19 21:18:27 +03:00
Zalim Bashorov 16e1138374 LookupLocation.NO_LOCATION -> NoLookupLocation.UNSORTED 2015-08-18 12:34:20 +03:00
Valentin Kipyatkov b6cf39981f SAM-adapters are sorted as non-extensions in completion and with correct boldness + no parameter names when from compiled 2015-08-14 18:10:41 +03:00