Zalim Bashorov
13aeb171bd
Provide more info for EA-89216
2017-05-26 15:06:32 +03:00
Dmitry Petrov
a86fe89aae
Include file name for package-level members in diagnostics
2017-05-26 13:58:46 +03:00
Dmitry Petrov
17eab2865d
Include containing declaration name in message for JVM signature clashes
...
#KT-9359 Fixed
2017-05-26 13:58:46 +03:00
Dmitry Petrov
7518119bff
Fix diagnostic message for abstract member not implemented
...
Diagnostic messages should describe a problem,
and should not suggest taking actions.
That's a prerogative of quick fixes in IDE.
#KT-5066 Fixed
2017-05-26 13:58:46 +03:00
Mikhail Zarechenskiy
400ecd5e13
Support destructuring declarations in scripts and REPL
...
#KT-5620 In Progress
#KT-15810 In Progress
2017-05-25 16:46:04 +03:00
Pavel V. Talanov
f701f8f590
Cache GSScope by dependencies in ScriptDependencyModuleInfo
...
Removing state in previous commit led to 'toVfsRoots' being called to often
2017-05-22 19:12:09 +03:00
Pavel V. Talanov
4f3b68f8e9
Avoid caching state in ScriptModuleInfos
...
This led to caching stale dependencies
#KT-17770 Fixed
2017-05-22 18:37:00 +03:00
Alexander Udalov
f8e82f148a
Drop TypeLazinessToken and LazyResolveToken
2017-05-22 18:15:19 +03:00
Pavel V. Talanov
8fc953f529
Modules with different language levels can't be analyzed together
...
"Supports additional builtIn members" setting
is basically adding members to some types
If we analyze them toghether other modules would leak types
that have those members (or don't) into other modules scopes
leading to code that has erroneous highlighting
See KT-17357
#KT-17357 Fixed
2017-05-22 17:42:21 +03:00
Alexey Sedunov
6049bb8238
Configuration: Use project-level JVM target when facet is absent
...
#KT-17722 Fixed
2017-05-22 13:51:06 +03:00
Dmitry Jemerov
ded5bfb841
Show calls of TODO() function in TODO view
...
#KT-8617 Fixed
2017-05-19 18:23:45 +02:00
Simon Ogorodnik
dba9011563
Check for batch PSI children update when invalidating package cache
...
#KT-17868 fixed
2017-05-19 13:07:30 +03:00
Alexey Sedunov
a80fb6f20f
Copy: Report module accessibility conflicts
2017-05-18 14:22:39 +03:00
Pavel V. Talanov
21b32b9de5
IDE Performance: skip resolver construction for non-relevant modules
...
Querying non-existent packages does not trigger module resolver computation
2017-05-16 22:15:07 +03:00
Pavel V. Talanov
77e611b2e7
Minor: refactor PerModulePackageCacheService
2017-05-16 22:15:05 +03:00
Pavel V. Talanov
1c5e7c4726
Make sure java completion doesn't suggest classes from builtIns
...
Fix an undesirable sideeffect of previous changes
2017-05-16 22:01:05 +03:00
Pavel V. Talanov
798c80ed07
Use wrappers around java.util.* to emulate kotlin.collection.* behaviour
...
Backend: If kotlin class extends kotlin.collection.List
write it as it's super interface (light class mode only)
IDE: Provide wrapper classes to java resolve
that try to emulate backend behaviour
For example if kotlin class implements kotlin.collections.Map,
we provide a superinterface that has abstract 'getEntries' method
and 'entrySet' method that is considered default.
In reality all those methods are generated in the class itself.
In IDE supporting this case without hacks is not feasible performance-wise
since kotlin.collection.* may not be an immediate supertype and we need
to compute all supertypes just to calculate own methods of the class
2017-05-16 22:01:03 +03:00
Pavel V. Talanov
40561dabed
J2K JavaToKotlinClassMap
2017-05-16 22:00:58 +03:00
fitermay
e30b9758f4
Introduce action to add missing when branches on sealed class
...
Made via diagnostics NON_EXHAUSTIVE_WHEN_FOR_SEALED_CLASS
with INFO severity and quick-fix
So #KT-17580 Fixed
2017-05-16 16:43:27 +03:00
Alexey Sedunov
f2bb6e4dac
Rename: Support import aliases
...
#KT-4379 Fixed
2017-05-16 13:10:36 +03:00
Alexey Sedunov
3c94184de9
Rename: Support labeled expressions
...
#KT-7107 Fixed
2017-05-16 13:10:34 +03:00
Dmitry Jemerov
f53b9aa419
Improve diagnostics for EA-100849
...
KNPE: DeserializerForClassfileDecompilerKt.DeserializerForClassfileDecompiler
2017-05-12 12:34:54 +02:00
Dmitry Jemerov
db1f8c7541
EA-100074 - SOE: ExpressionsOfTypeProcessor.containsTypeOrDerivedInside
2017-05-12 12:33:46 +02:00
Mikhail Glukhikh
2d9a5afb15
Refactoring: convert problemHighlightType to function with parameter
2017-05-11 20:46:37 +03:00
Mikhail Glukhikh
0361ed8c68
Refactoring: SelfTargetingIntention / IntentionBasedInspection
...
Remove complex logic which disables intention when bound inspection on
Add much simpler logic in SelfTargetingIntention.equals
2017-05-11 20:45:59 +03:00
Mikhail Glukhikh
967c01f0ba
Override 'equals' in SelfTargetingIntention
...
This prevents suggestion of duplicating intentions
2017-05-10 17:43:45 +03:00
Dmitry Jemerov
9c4f897d31
Index properties defined in primary constructor
...
#KT-15029 Fixed
2017-05-10 14:27:28 +02:00
Dmitry Jemerov
d1893cfa5f
Don't highlight entire complex callee expression as call
...
If an expression returns something that has invoke() defined on it,
this entire expression can act as a callee. If we highlight it, this
will suppress more useful highlighting such as string literals.
#KT-16159 Fixed
2017-05-10 14:27:25 +02:00
Dmitry Jemerov
06a1d362d1
Pass Editor to StructureViewModel (required for autoscroll from source)
...
#KT-17439 Fixed
2017-05-10 14:25:02 +02:00
Mikhail Zarechenskiy
38eff6966d
Lazy resolve: fix scope for primary constructor parameters
...
For classes on top level scope was getting for file, which may introduce resolution problems with generics
#KT-8829 Fixed
2017-05-10 13:52:21 +03:00
Mikhail Zarechenskiy
95ede7fb67
Move SAM adapters from static scope to synthetic one
2017-05-05 21:30:10 +03:00
Nikolay Krasko
c0b545085a
Search statics java declarations through star imports
2017-05-03 18:03:39 +03:00
Nikolay Krasko
2d51d72708
Use classes to increase search pattern for static declarations
...
Static common names like 'INSTANCE', 'create' can give many irrelevant
references in the project.
#KT-17000 Fixed
#KT-14974 Fixed
2017-05-03 18:03:39 +03:00
Nikolay Krasko
7ee58be515
Don't fall back to full search because of reference in fqname
2017-05-03 18:03:39 +03:00
Nikolay Krasko
5cbc653f00
Avoid 'invoke' reference resolve because of references on the same range
...
When 'text' usages are being search, invoke reference in 'some(text)'
is considered relevant.
2017-05-03 18:03:39 +03:00
Nikolay Krasko
43d8a70ad3
Remove property accessor references from packages, imports and types
2017-05-03 18:03:39 +03:00
Nikolay Krasko
ba2f43ab78
Add caching for reference resolution in idea ResolveCache
2017-05-03 18:03:39 +03:00
Mikhail Glukhikh
0798e43524
Consider only source-compatible modules in allImplementingModules use-sites
...
So #KT-17400 Fixed
So #KT-15680 Fixed
So #KT-15660 Fixed
Likely also #KT-16838 Fixed
2017-05-02 19:01:31 +03:00
Pavel V. Talanov
178e59a6e8
LazyLightClassDataHolder: move internal members check to IDELightClassContexts#isDummyResolveApplicable
2017-05-02 15:40:18 +03:00
Pavel V. Talanov
03b68666e4
KtLightClassForSourceDeclaration: use psi based resolve to speedup isInheritor checks
2017-05-02 15:40:17 +03:00
Pavel V. Talanov
5346efae6e
Minor: toString() in IDELightClassConstructionContext
2017-05-02 15:40:15 +03:00
Pavel V. Talanov
901aa9c18b
PsiBasedClassResolver: use ImpreciseResolveResult instead of Boolean?
2017-05-02 15:40:14 +03:00
Pavel V. Talanov
8f4c969933
KtLightElement is no longer PsiNamedElement
2017-05-02 15:40:14 +03:00
Mikhail Glukhikh
04f7ba95c5
Add module name to HEADER_WITHOUT_IMPLEMENTATION message
2017-05-02 14:17:20 +03:00
Dmitry Jemerov
d46f222a12
Don't try to store "is Kotlin" state for non-local jars (EA-80264)
2017-04-28 12:02:19 +02:00
Mikhail Glukhikh
4b6667f599
Make IntentionBasedInspection deprecated
2017-04-27 18:21:39 +03:00
Simon Ogorodnik
de66f76299
Fix regression of sample resolution in library sources
...
Use hack to answer package questions
#KT-17448 fixed
2017-04-27 16:53:07 +03:00
Pavel V. Talanov
f3dd09beaf
Lighter classes: DeprecationLevel.HIDDEN affects codegen
2017-04-24 20:55:50 +03:00
Pavel V. Talanov
337eb883b3
IDELightClassContexts: Use CallResolver to resolve relevant annotation calls
...
Drop code that made decisions based on text
Use CallResolver directly to avoid calling TypeResolver which only returns error types in ad hoc resolve
2017-04-24 20:55:49 +03:00
Pavel V. Talanov
46c6aaddeb
Light classes: do not try to build lighter classes if failed once
...
Avoid multiple exceptions thrown and analysis being unable to complete
2017-04-24 20:55:48 +03:00