Commit Graph

45134 Commits

Author SHA1 Message Date
Zalim Bashorov 4c15642e2c Add missed references to license/README.md 2018-02-26 12:09:28 +03:00
Nicolay Mitropolsky be961b458d make "IDEA Ultimate" run-configuration use -P intellijUltimateEnabled 2018-02-26 11:21:38 +03:00
Pavel V. Talanov cf6fd4da81 Completion: prevent lookup elements from being duplicated correctly
This code prevents completion items from being submitted several times for the same descriptors
But some contributors actually do contribute extra items for already processed descriptors

Fixes a problem introduced in 1796d40118
2018-02-22 20:32:54 +01:00
Pavel V. Talanov 10f6d65e03 IdeStubIndexService: do not index annotations without name
Fixes NPE after changes introduced in 8f8cbfcfa5
2018-02-22 20:29:00 +01:00
Alexey Tsvetkov d7644559eb Perform a test lookup before build
#KT-22535 fixed
   #KT-22995 fixed
2018-02-22 18:21:37 +03:00
Alexey Tsvetkov 7c9412a0b3 Avoid instanciating LookupStorage when clearing it
#KT-22535
  #KT-22995
2018-02-22 18:21:37 +03:00
Alexey Tsvetkov 140ba0681a Throw BuildDataCorruptedException when lookup operation cannot be performed
That is expected to force a rebuild (but it does not seem to be the case
in case of parallel build).

  #KT-22535
  #KT-22995
2018-02-22 18:21:37 +03:00
Alexey Tsvetkov 8ab9366ae5 Synchronize access to lookup storage in JPS
Storage operations are synchronized already,
but BuildDataManager.getStorage is not synchronized,
so maybe it is possible to create multiple LookupStorage
instances.

    #KT-22535
    #KT-22995
2018-02-22 18:21:37 +03:00
Nicolay Mitropolsky 3a609a9472 Assertions to catch EA-114080 2018-02-22 12:51:50 +03:00
Denis Zharkov 5a591be25f Convert SwitchCodegen to Kotlin, prettify and optimize codegen 2018-02-22 11:42:18 +03:00
Natalia Selezneva 806faf86b7 Tests: allow file modification during highlighting for scripts 2018-02-22 10:00:21 +03:00
Natalia Selezneva de76d75f03 Drop caches for synthetic files when dependencies changed 2018-02-22 10:00:15 +03:00
Natalia Selezneva 8367aea624 Run update dependencies task in background 2018-02-22 10:00:10 +03:00
Natalia Selezneva 790cf1aa58 Show notification "Gradle projects need to be imported" when build.gradle.kts file changed
^KT-19165 Fixed
2018-02-22 10:00:02 +03:00
Natalia Selezneva 63aeaf9cd5 Do not highlight kts files outside source roots if not all definitions are initialized
^KT-20521 Fixed
^KT-21420 Fixed
2018-02-22 09:59:43 +03:00
Natalia Selezneva e62412398c Reload dependencies for kts files after Gradle Sync
^KT-21721 In Progress
2018-02-22 09:59:08 +03:00
Natalia Selezneva af4c1ce0e9 Minor: reformat 2018-02-22 09:59:02 +03:00
Alexey Tsvetkov 7881a305d9 Compare JS output files against file instead of hardcoded set
A difference is not obvious when two sets are compared:
there might be just one different element, but
sets would be printed in one line in iteration order
(which is non-fixed for hashsets).

Also the properties:
  EXPECTED_JS_FILES_IN_OUTPUT_FOR_STDLIB_ONLY,
  EXPECTED_JS_FILES_IN_OUTPUT_FOR_MODULE_STDLIB_ONLY,
  EXPECTED_JS_FILES_IN_OUTPUT_NO_COPY,
  EXPECTED_JS_FILES_IN_OUTPUT_WITH_ADDITIONAL_LIB_AND_DEFAULT_DIR,
  EXPECTED_JS_FILES_IN_OUTPUT_WITH_ADDITIONAL_LIB_AND_CUSTOM_DIR
are hard to distinguish in code and are not convenient to edit.
2018-02-22 01:13:09 +03:00
Ilmir Usmanov 9fdd34ce6e Minor. Add regression test for KT-15930
#KT-15930: Obsolete
2018-02-21 19:32:50 +03:00
Ilmir Usmanov bcf29d106d Minor. Add regression test for KT-18292
#KT-18292: Obsolete
2018-02-21 19:32:41 +03:00
Ilmir Usmanov a0186224b2 Do not report NOTHING_TO_INLINE on suspend inline functions
#KT-22260: Fixed
2018-02-21 19:19:09 +03:00
Alexey Tsvetkov 772a935de6 Provide custom ConstantAffectionResolver in JPS
#KT-16091 fixed
2018-02-21 19:12:12 +03:00
Anton Bannykh eabe21726c JS: improve switch elimination 2018-02-21 18:39:19 +03:00
Pavel V. Talanov 92070d132e Completion: do not force dsl members to the top if some type is expected 2018-02-21 14:44:14 +01:00
Pavel V. Talanov 1796d40118 Completion: assign highest priority to dsl members in dsl context
Use the same style as for dsl for lookup items that belong to dsl
2018-02-21 14:44:13 +01:00
Pavel V. Talanov 8f8cbfcfa5 KtAnnotationEntry#name is stubbed and is nullable 2018-02-21 14:44:09 +01:00
Pavel V. Talanov 8600add7f7 Refactor: extract utils related to DslMarker to a separate object 2018-02-21 14:44:08 +01:00
Dmitry Savvinov d570b863ce Introduce deprecation of companion objects nested classes
Introdude deprecation as per KT-21515. Warning is reported on type
usage, that soon will became invisible. Quickfix by adding explicit
import is added.

Idea behind implementation is to mark scopes that are deprecated (see
ClassResolutionScopesSupport).

Then, during walk along hierarchy of scopes, look at deprecation status
of the scope that has provided this classifier.
Note that we also have to check if there are *some* non-deprecated
visibility paths (because we can see classifier by two paths, e.g. if
we've added explicit import) -- then this type reference shouldn't be
treated as deprecated.
2018-02-21 16:04:49 +03:00
Mikhail Glukhikh acd8edaa9c WEAK_WARNING -> GENERIC_ERROR_OR_WARNING in three inspections
Now there inspection use configured highlight level instead of
forced weak warning: null check to safe call, reformat, sort modifiers
2018-02-21 15:59:59 +03:00
Alexey Sedunov 17e64ebae0 Move: Fix processing of callable references to nested Java classes and static methods
#KT-17827 Fixed
2018-02-21 13:21:20 +03:00
Alexey Sedunov 441f88c144 Move: Fix processing of callable references to nested Kotlin classes
#KT-17827 In Progress
2018-02-21 13:21:19 +03:00
Alexey Sedunov bdfc814389 Move: Fix scope of internal reference recovery in the case of file move
#KT-22282 Fixed
2018-02-21 13:21:19 +03:00
Alexey Sedunov 4537192e86 Move: Check if sealed class is moved with its subclasses
#KT-22769 Fixed
2018-02-21 13:21:18 +03:00
Alexey Sedunov 27d4593fc4 Move: Fix lengthening of qualified type references
KT-14519 Fixed
2018-02-21 13:21:18 +03:00
Alexey Sedunov 1af21dd160 Move: Warn about moving public declaration to non-public class
#KT-22771 Fixed
2018-02-21 13:21:18 +03:00
Alexey Sedunov acf6408474 Create from Usage: Fix "Create class" applicability check for when entries
#KT-22329 Fixed
2018-02-21 13:21:17 +03:00
Alexey Sedunov 0934859718 Create from Usage: Revert suggested container order for "Create Class"
#KT-22917 Fixed
2018-02-21 13:21:17 +03:00
Dmitry Jemerov 9e30ede998 Fix ISE in KotlinPairMatcher.getCodeConstructStart() 2018-02-21 10:13:08 +01:00
Yan Zhulanow 2fdadb0f5a Evaluator: Send class bytecode array in loop with a limited chunk size (#KT-22967)
JDI in Android has a limited byte buffer size (8192), and we must not exceed it.
2018-02-20 23:19:59 +03:00
Yan Zhulanow dfc007ebd3 Use thread-safe WeakHashMap implementation in annotation-based IDE plugins (#KT-22514) 2018-02-20 23:19:35 +03:00
Mikhail Glukhikh 84993ec3a0 Resolution API: introduce and use KtElement.resolveToCall() 2018-02-20 20:25:42 +03:00
Mikhail Glukhikh 513376e5f0 Introduce KtNamedFunction.resolveToDescriptorIfAny() 2018-02-20 20:25:42 +03:00
Mikhail Glukhikh 5848bc9a44 Introduce KtClassOrObject.resolveToDescriptorIfAny() 2018-02-20 20:25:42 +03:00
Mikhail Glukhikh bd0cbb716c Rename: analyzeWithDeclarations --> analyzeWithContent() 2018-02-20 20:25:41 +03:00
Mikhail Glukhikh f6513cd17e Introduce resolveToParameterDescriptorIfAny(), drop reified version 2018-02-20 20:25:41 +03:00
Mikhail Glukhikh 7a1b3cd224 Introduce & use resolveToDescriptorIfAny<DescriptorType>
This allows to omit casts after resolveToDescriptorIfAny() call,
get different descriptors for different receivers (in future),
distinguish parameter / property situation for primary constructor
2018-02-20 20:25:41 +03:00
Mikhail Glukhikh 8c97f8cbb5 Deprecate KtElement.analyzeFullyAndGetResult(), use analyzeAndGetResult 2018-02-20 20:25:41 +03:00
Mikhail Glukhikh cd1745d354 Light classes: analyzeFully() --> analyzeWithDeclarations() 2018-02-20 20:25:41 +03:00
Mikhail Glukhikh eabc7c9ba8 Replace some KtDeclaration.analyze() with resolveToDescriptorIfAny()
Also, enhance comment on KtElement.analyze()
2018-02-20 20:25:40 +03:00
Mikhail Glukhikh 88b8652ed2 J2K: convert + get rid of analyzeFully (3 files) 2018-02-20 20:25:40 +03:00