Commit Graph

1832 Commits

Author SHA1 Message Date
Nikolay Krasko ab04f900df Add name of script file to script module info 2016-12-15 14:33:16 +03:00
Nikolay Krasko e359b9b6de Remove the code for idea 144 2016-12-15 14:33:13 +03:00
Nikolay Krasko 88b3d9ff3f Make sdk info and library info difference more clear in debugger 2016-12-15 14:33:11 +03:00
Mikhail Glukhikh 7649232f86 Platform header annotator: implementation + simple multi-platform highlighting tests #KT-14905 Fixed 2016-12-13 19:02:23 +03:00
Mikhail Glukhikh 57da92b862 Infrastructure change: module descriptor now knows its platform kind & its sources kind 2016-12-13 18:53:55 +03:00
Mikhail Glukhikh 04df23941f Minor fix of problem with non-existent ProjectFileIndex 2016-12-13 18:53:44 +03:00
Dmitry Jemerov baad540516 Workaround for added @NotNull annotation on ProjectFileIndex.getInstance() 2016-12-13 12:40:03 +01:00
Stanislav Erokhin dbe8edda5f Remove propertyDelegate and fix unused parameter checker for provideDelegate. 2016-12-12 23:14:09 +03:00
Stanislav Erokhin 9dc9fb578f Rename toDelegateFor to provideDelegate. 2016-12-12 23:14:07 +03:00
Dmitry Petrov e2b6d2d849 Drop 'propertyDelegated' convention (without additional deprecation ceremony). 2016-12-12 23:13:58 +03:00
Dmitry Jemerov 2cc42ba151 Highlight code fragments only when they have a context (part of EA-84233 - assert: GetModuleInfoKt$getModuleInfo$.invoke) 2016-12-12 17:50:27 +01:00
Dmitry Jemerov d5e90b4123 Remove unnecessary uses of getContainingKtFile() (EA-83360 - CCE: KtElementImplStub.getContainingKtFile) 2016-12-12 17:50:11 +01:00
Dmitry Jemerov a7bd910dbb Don't try to calculate icon for invalid PSI elements
#KT-13443 Fixed
2016-12-12 16:24:51 +01:00
Yan Zhulanow cbef0250aa Allow to turn the first parameter of a SAM-converted lambda into the receiver (KT-12848) 2016-12-09 20:01:21 +03:00
Alexander Udalov 789483e1eb Remove old mechanism of metadata version error reporting 2016-12-09 01:59:36 +03:00
Alexey Andreev 85733b47f3 Add support of external modifier in classes and properties to IDEA stub builder 2016-12-08 15:41:44 +03:00
Nikolay Krasko fc5b493fd3 Run full resolve in debugger with write action priority (KT-14602)
#KT-14602 Fixed
2016-12-07 17:32:38 +03:00
Nikolay Krasko 726471d98e Avoid loading psi for compiled kotlin file if it's possible to get declaration by name from stubs 2016-12-05 17:22:42 +03:00
Alexey Sedunov 9a4fa3a871 Presentation: Add icons for type aliases 2016-11-30 14:35:27 +03:00
Nikolay Krasko dc1e3ae441 Allow to search builtins descriptors in stubs by name 2016-11-28 14:38:34 +03:00
Nikolay Krasko 3537673417 Don't enable search stub declaration by name if file doesn't contain descriptor key
This might cause irrelevant declarations found with the same name.
2016-11-28 14:38:34 +03:00
Nikolay Krasko b816c182f0 Try to avoid loading ast for decompiled files (KT-14804)
#KT-14804 Fixed
2016-11-28 14:38:34 +03:00
Alexander Udalov 0dc31af73d Introduce KotlinMetadataFinder#hasMetadataPackage
Before creating a MetadataPackageFragment, check that the corresponding
directory (across the classpath) contains at least one .kotlin_metadata file.
Otherwise we're creating packages for every simple name queried during the
resolution and sometimes prefer a (empty) package to the existing class, for
example when the latter class is star-imported
2016-11-25 20:50:15 +03:00
Alexander Udalov bfb7b21472 Load definitions of symbols from .kotlin_metadata files
Extract AbstractDeserializedPackageFragmentProvider out of
JvmBuiltInsPackageFragmentProvider and implement it a little bit differently in
MetadataPackageFragmentProvider. The main difference is in how the package
fragment scope is constructed: for built-ins, it's just a single scope that
loads everything from one protobuf message. For metadata, package scope can
consist of many files, some of which store information about classes and others
are similar to package parts on JVM, so a ChainedMemberScope instance is
created.

Introduce a bunch of interfaces/methods to deliver the needed behavior to the
'deserialization' module which is not JVM-specific and does not depend on the
compiler code: MetadataFinderFactory,
PackagePartProvider#findMetadataPackageParts, KotlinMetadataFinder#findMetadata.
Note that these declarations are currently only implemented in the compiler; no
metadata package parts/fragments will be found in IDE or reflection
2016-11-25 20:50:13 +03:00
Alexey Andreev 20669c1b97 JS: fix building stubs for JS library that contains classes in default package 2016-11-24 17:49:11 +03:00
Dmitry Jemerov 1570886be3 Don't throw exception when resolving out-of-content-root PSI elements to descriptors (EA-92177 assert: ResolverForProjectImpl.descriptorForModule) 2016-11-23 18:29:25 +01:00
Dmitry Jemerov 956e1c70dc Provide toString() for classes that extend GlobalSearchScope (to diagnose package fragment errors) 2016-11-23 18:29:24 +01:00
Dmitry Jemerov ebbbe1b801 Include exception in report, not only log it (EA-90231 - assert: ClsJavaStubByVirtualFileCache.createStub) 2016-11-23 18:29:22 +01:00
Dmitry Jemerov f9f590d270 More diagnostics for EA-85926 and EA-77163 2016-11-23 18:29:21 +01:00
Alexander Udalov 22e1221c75 Support "default platform" in IDE via facet settings 2016-11-22 18:19:02 +03:00
Dmitry Jemerov baf321a193 Highlight escape sequences in character literals
#KT-13795 Fixed
2016-11-22 13:20:35 +01:00
Dmitry Jemerov b742c8a63d Implement "Show non-public" filter for Kotlin structure view
#KT-14217 Fixed
2016-11-22 13:20:35 +01:00
Dmitry Jemerov f586eebe16 KotlinStructureViewModel: cleanup after J2K 2016-11-22 13:20:35 +01:00
Dmitry Jemerov 4b591bf41f KotlinStructureViewModel: J2K 2016-11-22 13:20:35 +01:00
Dmitry Jemerov bf97e64c1d KotlinStructureViewModel: rename to .kt 2016-11-22 13:20:35 +01:00
Dmitry Jemerov f4ce63f6d7 Collect local declarations under properties (KT-14215); improve presentation of object declarations
#KT-14215 Fixed
2016-11-22 13:20:35 +01:00
Dmitry Jemerov 45077023bb KotlinStructureElementPresentation: cleanup after J2K 2016-11-22 13:20:35 +01:00
Dmitry Jemerov 75a5b0ee0c KotlinStructureElementPresentation: J2K 2016-11-22 13:20:35 +01:00
Dmitry Jemerov 6225867cae KotlinStructureElementPresentation: rename to .kt 2016-11-22 13:20:35 +01:00
Dmitry Jemerov 99bfbd0a26 Never set isScript flag for stubs of file facade and multifile facade classes (scripts are always generated with ClassKind.CLASS) 2016-11-22 10:26:16 +01:00
Dmitry Jemerov 6a8f78d7c1 Don't add script files to facade indices
#KT-12445 Fixed
2016-11-21 14:35:00 +01:00
Zalim Bashorov 7dbcbeb794 IDE: fix detecting target platform for module when it contains js stdlib without regular name
Don't use fixed library name to detect JS stdlib.
2016-11-18 15:57:46 +03:00
Alexander Udalov 3d75b78dc5 Use IOUtil instead of DataOutput for readUTF/writeUTF in file based index
It uses less space and also may be a little bit faster
2016-11-16 16:30:34 +03:00
Dmitry Jemerov 3f7b9745b4 Fix race condition with synthetic files facade calculation in Upsource (UP-8046) 2016-11-14 12:56:34 +01:00
Alexander Udalov 0b6ad3bc07 Use target platform configured in facet in module analysis 2016-11-11 19:00:12 +03:00
Alexander Udalov 1ce8ed907c Use TargetPlatformDetector.getPlatform instead of ProjectStructureUtil.isJsKotlinModule
The reason for this is to make the choice of the platform more explicit now
that there are more platforms than just JVM and JS (default platform, and also
possibly native in the future)
2016-11-11 19:00:10 +03:00
Mikhail Zarechenskiy 6656bf835f Perform resolve of constructor parameters during partial constructor resove
#KT-13354 Fixed
2016-11-09 23:00:25 +03:00
Valentin Kipyatkov e850446f17 Introduced BindingContext.DATA_FLOW_INFO_BEFORE 2016-11-08 19:14:40 +03:00
Alexey Sedunov 30d08c989d Kotlin Facet: Use facet configuration to provide language version for IDE analyzer 2016-11-07 20:03:30 +03:00
Valentin Kipyatkov 3d5d2d8258 KT-14376 ClassCastException from object with vals
#KT-14376 Fixed
2016-11-07 18:31:04 +03:00