Commit Graph

1465 Commits

Author SHA1 Message Date
Natalia Ukhorskaya 316057873b Fix EA-72969 - assert: ExtractFunctionForDebuggerUtilKt$getFunctionForExtractedFragment$.invoke : ERROR_TYPES
Context element for codeFragment can be a KtFile (not  only KtExpression) ex. in case when file was changed after debugger starts and there is no expression at line with breakpoint
2016-04-15 15:58:07 +03:00
Natalia Ukhorskaya e55a1ad49c Get correct target platform for codeFragments 2016-04-15 15:58:07 +03:00
Alexander Udalov 1f3850da6e Store outer class in ProtoContainer instead of only its kind 2016-04-14 21:08:36 +03:00
Alexander Udalov 8ee278d02f Fix SourceElement for classes loaded in decompiler 2016-04-14 21:08:36 +03:00
Alexander Udalov 88106bb13b Get rid of BinarySource interface, use SourceElement instead 2016-04-14 21:08:36 +03:00
Alexander Udalov ad068ed4ac Do not call findKotlinClass when loading class annotations
The main change is in AbstractBinaryClassAnnotationAndConstantLoader, where we
no longer perform unnecessary IO operations for classes which are already
loaded to memory
2016-04-14 21:08:36 +03:00
Alexander Udalov 7620d66019 Minor, rename PackagePartSource -> BinarySource 2016-04-14 21:08:36 +03:00
Alexander Udalov ac92be12c6 Minor, take ProtoContainer in AnnotationAndConstantLoader#loadClassAnnotations 2016-04-14 21:08:36 +03:00
Alexander Udalov 2ab68d53fa J2K KotlinJvmBinaryClass & AnnotationAndConstantLoader: convert 2016-04-14 21:08:36 +03:00
Alexey Sedunov 119cf0f0cd Spring Support: Support Find Usages/Rename (on both declarations and
references) of Kotlin declarations referenced in the XML config
 #KT-11719 Fixed
 #KT-11652 Fixed
2016-04-09 21:13:30 +03:00
Alexey Sedunov 233f2b468d Spring Support: "Generate Dependency..." actions
#KT-11407 Fixed
2016-04-08 21:11:28 +03:00
Alexey Sedunov 962b312fb7 [RESTORED] Light Classes: Constant expression evaluator for light annotation arguments 2016-04-08 21:11:16 +03:00
Alexey Sedunov f2e2220560 [RESTORED] Spring Support: Implement Spring-specific references 2016-04-08 21:11:15 +03:00
Yan Zhulanow 4df9e9261e Lint: Rewrite Lint diagnostics using Uast. 2016-04-08 15:39:58 +03:00
Pavel V. Talanov f7db1f934c IDELightClassGenerationSupport#getContextForClassOrObject: do not rely on resolution facade being unchanged
ResolutionFacade should only recompute its underlying structures in case of psi change (which is ok) or some exception, but relying on it being unchanged has led to numerous exceptions in backend when building light classes (EA-70985, EA-80756)
Changing this code may not be the solution but it can possibly move failures to other parts of the system, where they can be easier diagnosed
2016-04-06 16:09:17 +03:00
Dmitry Petrov 8377eb4613 KT-11777: no parts for '<root>' 2016-04-06 10:01:01 +03:00
Zalim Bashorov f2237f675d Don't use invalid entries (including disposed libraries) when crete module infos to avoid exceptions in the future (see #EA-81326) 2016-04-05 12:44:46 +03:00
Zalim Bashorov 88da3fe44d Check that library isn't already disposed before use to avoid exceptions like in #EA-79154 2016-04-05 12:44:46 +03:00
Zalim Bashorov 7dad1831e9 Generate stubs only for files from jar
#EA-78399 fixed
2016-04-05 12:44:46 +03:00
Nikolay Krasko 04cea0993c Make idea-analysis depend on Java 8 2016-04-05 00:39:46 +03:00
Dmitry Petrov 92ddbb271a KT-11410: generate light classes from multifile class parts in binaries
if explicitly requested by fqName
2016-04-01 10:13:22 +03:00
Pavel V. Talanov e19cc04c63 KT-11678 Support navigation from Java source to Kotlin binaries
Introduce LightMemberOriginForCompiledElement which holds logic for finding corresponding decompiled declaration
ByJvmSignatureIndexer stores the required information while building decompiled text

Some are unsolved in this commit:
   - constructors
   - @Jvm* and other unregular generated members
   - annotation methods

 #KT-11678 Fixed
2016-03-30 21:35:23 +03:00
Pavel V. Talanov f40a04c5a2 Refactor light elements
KtLightElement#delegate -> clsDelegate, KtLightElement#origin -> kotlinOrigin and make them properties
KtLightClassForDecompiledDeclaration stores KtClsFile
KtLightField stores LightMemberOrigin
2016-03-30 21:35:22 +03:00
Pavel V. Talanov 4824d4b880 Refactor: abstract over decompiled text indexing
Move navigation-related code from KtDecompiledFile
2016-03-30 21:35:19 +03:00
Nikolay Krasko 4819c07c95 Extract function for adding annotation to KtModifierListOwner 2016-03-30 16:42:37 +03:00
Valentin Kipyatkov 97311b56fe Minor changes on code review 2016-03-30 15:58:09 +03:00
Valentin Kipyatkov 99c232df84 Checking that no quickfix reference KotlinType 2016-03-30 15:58:09 +03:00
Valentin Kipyatkov 1f39511950 No i18n 2016-03-30 15:58:08 +03:00
Valentin Kipyatkov 54a69bf21d ChangeVariableTypeFix to not hold KotlinType 2016-03-30 15:58:05 +03:00
Valentin Kipyatkov 210626a6e1 Merged code into one visitor 2016-03-30 15:58:04 +03:00
Valentin Kipyatkov f4e3e33bd3 Renamed class 2016-03-30 15:58:04 +03:00
Valentin Kipyatkov 93e170325e KT-11612 Highlight named arguments in the editor somehow
#KT-11612 Fixed
2016-03-30 15:58:04 +03:00
Valentin Kipyatkov b9865c7225 Minor 2016-03-30 15:58:04 +03:00
Valentin Kipyatkov 2625c6bc29 Converted to Kotlin 2016-03-30 15:58:03 +03:00
Alexey Sedunov ed9b1ac151 [REVERTED] 0a71eb7 Alexey Sedunov on 2/25/2016 at 14:02 (committed on 3/24/2016 at 18:42)
Spring Support: Implement Spring-specific references
2016-03-29 19:17:07 +03:00
Alexey Sedunov 95f6acdddf [REVERTED] 8c72b02 Alexey Sedunov on 3/21/2016 at 19:14 (committed on 3/24/2016 at 18:42)
Light Classes: Constant expression evaluator for light annotation arguments
2016-03-29 19:17:05 +03:00
Alexander Udalov a8bebeb48d Load annotations of const properties from multifile classes
Rework backing field generation logic in PropertyCodegen to switch the
ClassBuilder instance for a multifile part to that of the corresponding facade
class. This became needed because multifile parts, and their metadata, are
generated _before_ the multifile facade class and otherwise we would never
record that there's a synthetic '$annotations' method for a const val and would
not write that to the protobuf message for the property.

See also bad83200

 #KT-10892 Fixed
2016-03-28 21:11:14 +03:00
Alexander Udalov 2dab56db8e Do not report "incomplete hierarchy" in decompiler
It's fine if the decompiler can't find some classes; it won't do anything
except render their FQ names which are fully available
2016-03-28 14:13:59 +03:00
Alexander Udalov 8d64ed7f3f Do not produce error classes for not found annotations 2016-03-28 14:13:59 +03:00
Alexander Udalov 873cf439de Drop MissingDependencyErrorClass and related code
No longer needed because of the proper support for missing classes in
deserialization (see NotFoundClasses.kt)
2016-03-28 14:13:59 +03:00
Natalia Ukhorskaya a09814961f Debugger: more precise context expression in codeFragment
#KT-11380 Fixed
2016-03-25 20:27:19 +03:00
Alexey Sedunov 8c72b02c9b Light Classes: Constant expression evaluator for light annotation arguments 2016-03-24 17:42:10 +03:00
Alexey Sedunov 0a71eb777e Spring Support: Implement Spring-specific references 2016-03-24 17:42:08 +03:00
Alexey Sedunov fefa0baeee Light Classes: Generate light wrappers for annotation entries 2016-03-24 17:41:58 +03:00
Valentin Kipyatkov f0ef04a6a8 Changed highlighting range for unresolved annotation name to not include '@'
#KT-11529 Fixed
2016-03-24 16:44:58 +03:00
Natalia Ukhorskaya 6752d0f180 Descriptors from library source should be visible from descriptors from libraries class files 2016-03-18 15:19:03 +03:00
Natalia Ukhorskaya 26c153639a Skip visibility check when resolving class in debug mode
#KT-11326 Fixed
2016-03-18 15:19:03 +03:00
Alexander Udalov 5b7115dc38 Minor, drop deprecated KotlinBuiltIns.getExtensionFunction 2016-03-14 19:45:08 +03:00
Alexander Udalov c18fab82e5 Simplify and rename function type utilities
- isFunctionType -> change the only usage in TracingStrategyForInvoke to check
  for exact function type
- isExtensionFunctionType -> change all usages to check for exact extension
  function type because extension function types are uninheritable in Kotlin
- isExactFunctionType -> isNonExtensionFunctionType
- isExactExtensionFunctionType -> isExtensionFunctionType
- isExactFunctionOrExtensionFunctionType -> isFunctionType
- isFunctionOrExtensionFunctionType -> isFunctionTypeOrSubtype
2016-03-14 19:24:07 +03:00
Alexander Udalov fd344561fc Move static function type utilities from KotlinBuiltIns to functionTypes.kt 2016-03-14 19:24:05 +03:00