Commit Graph

643 Commits

Author SHA1 Message Date
Vladimir Ilmov db0788c68f (LightClass) KotlinShortNamesCacheTest fix for methods, referenced from companions and classes 2020-06-06 23:48:15 +02:00
Vladimir Ilmov 3634cbe3cb (LightClasses) resolve of annotations fast-path 2020-06-05 13:27:10 +02:00
Vladimir Ilmov 991f12bd73 (LightClasses) while looking for accessors we expect them to be taken from single class 2020-06-05 13:27:09 +02:00
Vladimir Ilmov c0144d2161 (LightClasses) minor improvement in annotation order check 2020-06-05 13:27:09 +02:00
Yunir Salimzyanov 3b9000cc0c Cleanup 191 extension files (KTI-240) 2020-06-01 18:43:10 +03:00
Igor Yakovlev 84a582c618 Fix escaping const string literals in UL
Fixed #KT-38247
2020-05-12 17:04:16 +03:00
Igor Yakovlev 9f8044ff1b Fix ultraKtLightClassForFacade compiler backend call
+minor fixes
2020-05-12 17:04:16 +03:00
Igor Yakovlev 62c24c95b5 Add support for UltraLightScripts 2020-05-12 17:04:15 +03:00
Igor Yakovlev 8a7aac728d Fix invalid signature for UL method
Fixed #KT-32245
2020-04-22 12:26:51 +03:00
Igor Yakovlev ed3ae785fb Fix invalid signature for generic UL method
Fixed #KT-38348
2020-04-22 12:26:51 +03:00
Vladimir Dolzhenko 6fae29bcc0 Add more checkCanceled to PsiFacade.findClass
Relates to #KT-38012
2020-04-14 13:11:11 +02:00
Mikhael Bogdanov bfd709290b Explicitly pass jvmDefaultMode 2020-04-09 07:37:30 +02:00
Igor Yakovlev 43468c6d55 Filter enum synthetic methods for stub based classes
Fixed #KT-36095
2020-03-30 13:46:08 +03:00
Igor Yakovlev af1e3fb10d UL properties supports JvmSynthetic annotation for get: and set: modifiers
(+small refactoring)
Fixed #KT-34973
2020-03-16 18:42:17 +03:00
Vladimir Dolzhenko 15e2afe5ab Add checkCanceled on common for autocompletion and highlighting resolve path 2020-03-04 08:59:17 +01:00
Yan Zhulanow 390d062721 Fix class run configuration applicability (KT-33787)
The bug appeared when we turned “ultra light classes” on by default.
  The difference with the old implementation is that
  PsiClass.getTextRange() returns the correct non-null value.
  This triggers JavaExecutionUtil#stepIntoSingleClass() to return
  a light class instead of the original location (of a PsiIdentifier).
  So AbstractJavaTestConfigurationProducer#isConfigurationFromContext()
  returns true, and the wrong configuration is reused instead of
  creating the new one.

By the way, for Java it also returns an identifier because of the
  PsiTreeUtil.getParentOfType(element, PsiClass.class) != null check.

The proper fix should land in the newer versions of IDEA, however this
  (hopefully, temporary) hack will fix test method gutters for
  all platform versions.
2020-03-03 14:18:04 +09:00
Igor Yakovlev 4693d595b7 Fix UL classes tests
Fixed #KT-36717
2020-02-20 18:03:10 +03:00
Yan Zhulanow b1414fa477 EA-214662: Support property accessors in UastLightIdentifier 2020-02-14 17:35:18 +09:00
Igor Yakovlev a67d97bdf8 Remove redundant fake facade classes
Fixed #KT-35122 #EA-218642 #EA-217640
2020-02-13 19:08:54 +03:00
Igor Yakovlev 07863b61d8 Fix UL classes failing tests
UltraLightClassLoadingTestGenerated.testInferringAnonymousObjectTypes
UltraLightClassLoadingTestGenerated.testObjects
2020-02-10 23:35:47 +03:00
Igor Yakovlev 3ec671d727 Fix getMirror for kotlin decompiled file
Possibly fixed EA142049
2020-02-06 20:24:20 +03:00
Vladimir Dolzhenko cf9ceb4e99 Add more diagnostic context to LightClassUtil#findClass
Relates to #EA-5389872
2020-02-03 00:00:45 +01:00
Igor Yakovlev f7dfbbbfbd Remove const keyword requirement from UL final fields initializers 2020-01-28 13:01:03 +03:00
Victor Petukhov 5c6e710013 Revert "Workaround an inliner problem upon which the compiler code itself stumbled ^KT-35856 Fixed"
This reverts commit 59175912
2020-01-24 16:41:22 +03:00
Igor Yakovlev ac9c106a77 Fix of UL classes muted tests
Add visibility modifier to companion field
Const initializer is now getting for const properties only

Fixed tests:
UltraLightClassLoadingTestGenerated.testAnnotations
UltraLightClassLoadingTestGenerated.testInheritance
UltraLightClassLoadingTestGenerated.testProperties
UltraLightClassSanityTestGenerated.IdeRegression.testImplementingMutableSet
UltraLightClassSanityTestGenerated.IdeRegression.testOverridingFinalInternal_extra
UltraLightClassSanityTestGenerated.IdeRegression.testOverridingInternal
UltraLightClassSanityTestGenerated.IdeRegression.testOverridingInternal_extra
UltraLightClassSanityTestGenerated.IdeRegression.testOverridingProtected_extra
UltraLightFacadeClassTestGenerated.testProperties
UltraLightClassLoadingTestGenerated.testObjects
2020-01-21 03:26:09 +03:00
Alexander Udalov 621936e951 Do not generate Throws attribute for delegated members from Kotlin interfaces
#KT-31763 Fixed
 #KT-35834
2020-01-16 12:43:09 +01:00
Victor Petukhov 5917591205 Workaround an inliner problem upon which the compiler code itself stumbled
^KT-35856 Fixed
2020-01-10 12:13:46 +03:00
Igor Yakovlev 4efab51751 Fix allopen call from UL methods
Fixed #KT-35577
2019-12-20 16:57:53 +03:00
Igor Yakovlev 2639ed2c48 Fix invalid equality for UL methods
Potentially fixed #KT-34796
2019-12-15 23:42:31 +03:00
Alexander Shustanov c9cba34d67 KT-35454 Weird implementation of KtUltraLightFieldImpl.isEquivalentTo 2019-12-13 20:07:45 +03:00
Igor Yakovlev 6792d22c31 Fix minor bugs for UL methods and parameters representation
Remove INSTANCE field for local object declarations
Remove private suspend functions create from UL
Add correct extension function parameter name
Add support for setparam annotation modifier
2019-12-10 18:26:08 +03:00
Alexander Udalov fd627603a0 Refactor CompilationErrorHandler
It only had one implementation THROW_EXCEPTION, inline it everywhere
with a call to a static method
2019-12-03 10:48:34 +01:00
Igor Yakovlev 0ff77bd3c5 Add UL support for const fields initializers
Fixed #KT-34081
2019-12-02 20:41:47 +03:00
Igor Yakovlev 8f9895e64e Add external keyword support for UL
Fixed #KT-34923
2019-11-21 22:49:23 +03:00
Vladimir Dolzhenko 03c7f4bf00 Wrap KtClassOrObject.isLocal, KtFile.isScript with runReadAction in LightClasses
#EA-211576 Fixed

(cherry picked from commit 75a59d4bced714af51abd7e354bc873313b28051)
2019-10-26 21:10:38 +02:00
Vladimir Dolzhenko 00055fc20a Wrap KtClassOrObject.isLocal, KtFile.isScript with runReadAction in LightClasses
#EA-211576 Fixed

(cherry picked from commit 75a59d4bced714af51abd7e354bc873313b28051)
2019-10-26 09:42:49 +02:00
Vladimir Dolzhenko 96768cbf2d Clean up after acquire lock for several seconds to create LightClasses to workaround dead-lock over resolve
Relates to #KT-34279
2019-10-25 22:05:28 +02:00
Vladimir Dolzhenko d16a1b14d8 Acquire lock for several seconds to create LightClasses to workaround dead-lock over resolve
Relates to #KT-34279
2019-10-24 17:32:36 +02:00
Igor Yakovlev bc66834c3c Fix UL classes descriptors leaks
UL classes built upon descriptors and UL support classes are saving a descriptors.
This could lead to descriptors leakage so we have to eliminate any fields with descriptor references.

Fixed #KT-34337
2019-10-21 22:04:49 +03:00
Igor Yakovlev 8c65a9a2aa Move AllOpen UL support to separate extension 2019-10-18 23:22:48 +03:00
Igor Yakovlev 58b8d8868a Remove fallbacking of UL (to LightClasses) by complexity checking 2019-10-18 23:22:47 +03:00
Igor Yakovlev 3f9bffcc5f Move UL compiler plugin support to separate extension point 2019-10-18 23:22:47 +03:00
Igor Yakovlev 6ce37fff95 Add UL support for AllOpen compiler plugin 2019-10-18 23:22:47 +03:00
Igor Yakovlev 558a700f51 Add UL support for ParcelableCodegenExtension compiler plugin 2019-10-18 23:22:47 +03:00
Igor Yakovlev 110a6700e4 Add UL support for NoArg compiler plugin 2019-10-18 23:22:47 +03:00
Dmitry Gridin 1a8796c79a LightClassDataHolder: shouldn't catch ControlFlowException 2019-10-14 21:45:10 +07:00
Dmitry Gridin 7c1f2e8735 LightClassDataHolder: cleanup code 2019-10-14 21:45:10 +07:00
Mikhail Zarechenskiy 71cb5e07db Minor, don't recreate Set with the same values 2019-10-11 18:47:54 +03:00
Nikolay Krasko 8cda36ef15 Fix IdeLightClassTestGenerated tests for idea <= 191 2019-10-08 01:04:54 +03:00
Vyacheslav Gerasimov 3f1d3dab14 193: Request StubComputationTracker as component from project
Fixes assert:
com.intellij.testFramework.LoggedErrorProcessor$TestLoggerAssertionError: org.jetbrains.kotlin.asJava.builder.StubComputationTracker requested as a service, but it is a component - convert it to a service or change call to project.getComponent()
2019-10-04 17:04:54 +03:00