Commit Graph

1796 Commits

Author SHA1 Message Date
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
Valentin Kipyatkov 68174470c3 Add BodyResolveMode parameter to resolveToDescriptor() 2016-11-02 19:25:27 +03:00
Yan Zhulanow 951868f590 Explicitly filter out classes found by DataBindingClassFinder and DataBindingComponentClassFinder for scope without sources (KT-12402)
This change is temporary, and it should be reverted when the original problem in DataBinding IDE support is fixed.
2016-11-01 19:36:33 +03:00
Valentin Kipyatkov 046c55a7ac Caching for PARTIAL_FOR_COMPLETION resolve too (because it's used not only in completion) 2016-10-28 09:47:27 +03:00
Ilya Chernikov 2e03a6f1fd Add script dependencies modification tracker, some optimizations 2016-10-27 23:36:54 +02:00
Simon Ogorodnik b802ca0af5 Fix for non-resolving of KtReference, which getTargetDescriptors returning multiple descriptors to same element 2016-10-27 20:02:25 +03:00
Nikolay Krasko 0261385681 Report file name for getDefaultPlatform() information 2016-10-27 14:26:07 +03:00
Dmitry Jemerov 38a448ebbd use a non-deprecated API 2016-10-27 12:50:39 +02:00
Alexander Udalov e0989caf46 Load built-ins from module dependencies in JVM compiler
Introduce a new method KotlinClassFinder#findBuiltInsData, which is only
implemented correctly in the JvmCliVirtualFileFinder because it's only used in
the compiler code at the moment.

Introduce JvmBuiltInsPackageFragmentProvider, the purpose of which is to look
for .kotlin_builtins files in the classpath and provide definitions of
built-ins from those files.

Also exclude script.runtime from compilation because, as other excluded
modules, it has no dependency on the stdlib and is no longer compilable from
the IDE now, because it cannot resolve built-ins from anywhere
2016-10-26 16:31:09 +03:00
Alexander Udalov 035d6156a7 Drop Cloneable in JS, synthesize it at compile-time on JVM
Use the same approach that is used for creating function type classes
(Function{0,1,...}) + add Cloneable to supertypes of Array and primitive arrays

 #KT-5537 Fixed
2016-10-25 15:42:33 +03:00
Alexander Udalov 0e9f29fdba Make ClassDescriptor#classId nullable
Local classes or anonymous objects do not have a class id. Use "!!" almost
everywhere to make assertion explicit
2016-10-25 15:42:32 +03:00
Alexander Udalov c0147860bd Allow multiple ClassDescriptorFactory instances in deserialization 2016-10-25 15:42:32 +03:00
Nikolay Krasko a344ad0644 Fix absence of annotation for function type in cls stubs and ignore @ExtensionFunctionType 2016-10-25 13:30:35 +03:00
Nikolay Krasko d1dfcfaca1 Fix stub-psi mismatch exception on restoring annotation for nullable types
(cherry picked from commit 1aa37f11258dde289a9f7cb700294a038168fbdc)

Conflicts:
	compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/KotlinStubVersions.kt
	idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/stubBuilder/TypeClsStubBuilder.kt
2016-10-25 13:22:53 +03:00
Mikhail Glukhikh e53940f4af KT-8442 related: correct handling of erroneous destructuring references, fixes EA-90434 2016-10-25 13:13:15 +03:00
Mikhail Glukhikh e7e56ab85c KT-8442 related: destructuring declarations aren't taken into account during light classes generation, fixes EA-81204 2016-10-25 13:13:11 +03:00
Valentin Kipyatkov f5d4b1dc8d KT-14191 FormattingModelInconsistencyException Exception on applying intention Replace with count()
#KT-14191 Fixed
2016-10-24 18:32:01 +03:00
Mikhail Glukhikh 6b9252a5d3 KT-7929 related: incorrect KtDestructuringDeclarationEntry is not resolved to descriptor, fixes EA-76715 2016-10-24 15:17:52 +03:00
Mikhail Glukhikh 1c8a2bb4cc No more attempts to resolve KtDestructuringDeclaration to descriptor #KT-7929 Fixed
Also #KT-8442 Fixed
2016-10-24 15:17:48 +03:00
Alexander Udalov 4c52ce37d2 Drop TargetPlatform in utilities for module creation 2016-10-21 17:10:40 +03:00
Alexander Udalov 9ec781e859 Get rid of ModuleDescriptor#defaultImports, use DefaultImportProvider 2016-10-21 17:04:59 +03:00
Dmitry Jemerov 32290ec1d3 add missing prepareForWrite() calls 2016-10-19 13:24:42 +02:00
Dmitry Jemerov 5db67ba2df diagnostics for EA-79913 - AIOOBE: ByDescriptorIndexer.getDeclarationForDescriptor$idea_analysis 2016-10-18 16:48:09 +03:00
Dmitry Jemerov 221b55550c handle elements with null containing file (EA-84533 - IAE: KtPsiFactoryKt.getModuleInfo) 2016-10-18 16:48:09 +03:00
Valentin Kipyatkov 76fe1ec0d9 KT-14353 ClassCastException during offline inspections
#KT-14353 Fixed
2016-10-13 21:51:38 +03:00
Valentin Kipyatkov 29fe63d5a9 More correct code - ensure that equals works correctly! 2016-10-13 15:56:18 +03:00
Alexander Udalov 2f616bdd33 Drop ModuleParameters, inline defaultImports everywhere 2016-10-12 17:07:09 +03:00
Alexander Udalov 88af36001c Introduce DeserializationConfiguration
Will be used soon to deliver the language/API-version-related behavior to the
deserialization
2016-10-12 12:19:17 +03:00
Valentin Kipyatkov 968a6cfd04 DescriptorRenderer to skip @ExtensionFunctionType and @ParameterName only when it's redundant 2016-10-11 23:38:54 +03:00
Valentin Kipyatkov ec51076355 DescriptorRenderer to render annotations for all types + separate option to render annotation arguments + use it in IdeDescriptorRenderers 2016-10-11 23:38:54 +03:00
Pavel V. Talanov 14f3e4c758 Cls stubs and decompiled text: Do not render parameter names in decompiled text and do not load ParameterName annotation in stubs
Add tests for decompiled text and stubs
2016-10-11 23:38:53 +03:00
Valentin Kipyatkov 3bd39df587 No parameter names in types for error messages 2016-10-11 23:38:50 +03:00
Valentin Kipyatkov 73dc5fefcb KT-12077 Code completion inserts FQN for annotations with use-site target inside primary constructor
KT-13009 Kotlin: annotation auto-import is broken in multiple ways

  #KT-12077 Fixed
  #KT-13009 Fixed
2016-10-11 17:26:52 +03:00
Valentin Kipyatkov b84260f39f Fixed multiple bugs in optimize imports for JS-target
#KT-13689 Fixed
2016-10-10 14:48:16 +03:00
Mikhail Glukhikh e7d290f726 Refactor PSI for destructuring declarations in for: they are now children of KtParameter and not instead of it 2016-10-06 21:03:19 +03:00
Alexander Udalov 0905b361d0 Drop LazyTopDownAnalyzerForTopLevel
Replace it everywhere with LazyTopDownAnalyzer
2016-10-06 14:40:20 +03:00
Alexander Udalov 7070b88ea4 Move PlatformToKotlinClassMap out from ModuleParameters
Configure it in the same way as other platform-specific components instead,
simplify some code
2016-10-06 14:40:20 +03:00