Commit Graph

46 Commits

Author SHA1 Message Date
Dmitry Neverov 3b4dafe691 Detect recursive property accessors #KT-17221 Fixed 2017-05-19 20:36:09 +03:00
Dmitry Jemerov c778e0454d Show line markers for suspending iteration
#KT-16803 Fixed
2017-05-10 14:27:23 +02:00
Dmitry Jemerov baa43a2a55 Show line markers for sealed classes
#KT-16755 Fixed
2017-05-10 14:27:22 +02:00
Dmitry Jemerov d49e9d7064 Fix override navigation from properties defined in primary constructor
EA-91185 - CCE: KotlinLineMarkerProviderKt$OVERRIDDEN_PROPERTY$.browse
2017-04-28 12:02:20 +02:00
Pavel V. Talanov 4f701285b1 Light class builder: do not generate methods delegating to DefaultImpls in kotlin classes
Class APIs from java point of view stays the same so we can avoid generating those methods
Otherwise we have to calculate all supertypes when getMethods() is called,
    which imposes severe performance penalties
We have to pretend these methods are not 'abstract' (also we consider them 'default' for safety)
    so java highlighting does not report "class should be abstract" for all inheritors
We have to manually report "class should be abstract" on some of the java inheritors,
    specifically those that are implementing interfaces directly
	    as opposed to extending kotlin classes implementing those interfaces
2017-04-09 15:09:01 +03:00
Alexey Sedunov 612dffb893 Highlighting: Add line markers for suspend function calls in coroutines
#KT-14689 Fixed
2017-01-10 21:16:10 +03:00
Mikhail Glukhikh a846e41b46 Cleanup: KotlinLineMarkerProvider 2016-12-19 15:46:27 +03:00
Dmitry Jemerov e224041760 show line markers for properties defined in the primary constructor (KT-12626) 2016-07-14 23:32:07 +02:00
Alexey Sedunov 3c79eab2fd Line Markers: Show recursion line markers for extension function calls with different receivers
#KT-11495 Fixed
2016-04-19 20:27:33 +03:00
Nikolay Krasko a642a15947 "Run Test" line markers now wrap the function names. Additional marker on abstract class. 2016-04-05 00:39:46 +03:00
Alexander Udalov f130755972 Use new built-in binary format (.kotlin_builtins files) in IDE
Instead of .kotlin_class and .kotlin_package files, .kotlin_builtins files are
now supported: they are decompiled to a long file consisting of all non-real
classes (those which do not also have .class files) and members in the
corresponding package.

Unlike the old files, .kotlin_builtins files have a binary version in the
beginning, which allows us to skip decompilation and stub building in case the
file has an unsupported version. This could previously lead to exceptions, see
KT-11077, EA-79339.

The change in DecompiledTextFactory is needed because without "defined in ..."
the keys for members in the long decompiled file are not unique, as there are
multiple members with exactly the same signatures in different classes (e.g.
arithmetic operations in primitive classes).

Remove testData files with the decompiled text and stubs of built-in symbols
because now that the whole package is decompiled to a single file, it would be
painful to update these files each time something in built-in sources changes

 #KT-11077 Fixed
2016-02-26 11:29:10 +03:00
Pavel V. Talanov 1c4d4f3e36 Create class descriptors for local classes in illegal positions
Typecheck code in illegal selector position
Fixes exceptions on "val p = A.class" erroneous code
2015-12-29 15:56:44 +03:00
Pavel V. Talanov ca38a50e1a Test data: fix test data for LineMarkerTest 2015-12-15 20:22:12 +03:00
Yan Zhulanow 9d1af5a17e Fix tests: "infix modifier required" and "operator modifier required" errors 2015-11-27 15:51:11 +03:00
Michael Bogdanov c63d221da3 Skip private members in facades 2015-10-18 17:53:26 +03:00
Yan Zhulanow ed5c059cea Rename unary plus() and minus() to unaryPlus() and unaryMinus() 2015-10-09 22:49:17 +03:00
Alexey Sedunov 5a325aeec0 Line Marking: Implement run markers for test classes/functions 2015-10-08 13:15:16 +03:00
Dmitry Jemerov c7b26ed7ca improve support for renaming overriding methods in enum entries
#KT-8891 Fixed
2015-08-28 15:49:07 +02:00
Nikolay Krasko 3d8f04e4fe Update test data: Idea can't parse description with "ctrl+ alt + b" promotion 2015-06-23 15:59:38 +03:00
Nikolay Krasko d1e7e184b6 Do psi-only checks to avoid unnessasary resolve in creating recursion markers 2015-06-19 14:15:17 +03:00
Dmitry Jemerov 625096466e IDE testdata: s/trait/interface 2015-05-13 16:13:13 +02:00
Michael Bogdanov 49f063522c Inline util functions renaming 2015-05-05 12:47:57 +03:00
Michael Bogdanov e0aa64b8d2 Support functional expression in non-local returns 2015-05-05 12:47:56 +03:00
Evgeny Gerashchenko 53ef521a8f Deparenthesizing this expression. 2015-04-08 16:44:45 +03:00
Evgeny Gerashchenko d7928b7251 Added test cases with labeled diff. 2015-04-08 16:43:34 +03:00
Evgeny Gerashchenko 4c5bfaeb8b Checking for different receiver in implicit calls. They are considered not recursive. 2015-04-08 16:37:41 +03:00
Evgeny Gerashchenko 015da2f8ca More proper code to check if lambda is inlined. Parameter of inline function can be annotated with "noInline". 2015-04-08 15:14:15 +03:00
Evgeny Gerashchenko 6041d566d9 Line markers for recursive calls. 2015-04-08 15:14:10 +03:00
Evgeny Gerashchenko 85e9f2207e Minor. Moved test data to subdirectory. 2015-04-08 14:38:04 +03:00
Pavel V. Talanov 06916d98c6 default -> companion: replace all mentions of default and default object 2015-03-17 15:47:39 +03:00
Evgeny Gerashchenko 5a262b976e Fixed overridden/implemented line markers in abstract classes. 2015-03-16 14:11:42 +03:00
Pavel V. Talanov 59f192ef90 Replace 'class object' with 'default object' in renderers and test data
Includes changes to decompiled text
Old syntax is used in builtins and project code for now
2015-03-06 19:36:54 +03:00
Nikolay Krasko c5852152b2 Don't ruin highlighting if there's no descriptor in resolve session
#EA-61683 Fixed
2014-10-14 15:38:27 +04:00
Nikolay Krasko f0e7435254 A better heuristics is declaration implemented or overriden 2014-10-01 18:05:46 +04:00
Nikolay Krasko 5c6d74af7d Test for "Incorrect override icon shown for overloaded methods" (KT-4428)
#KT-4428 Fixed
2014-10-01 18:03:02 +04:00
Nikolay Krasko 236cdc7d82 Filter synthetic trait overrides for "overriding" markers too 2014-10-01 18:02:54 +04:00
Nikolay Krasko 897ebd0347 Linemarker tests 2014-10-01 18:02:52 +04:00
Nikolay Krasko 6aa5e53a00 Fix navigate to super declaration line marker tooltip
Don't show overridden function signature each time, show only where it's declared
2014-10-01 17:58:56 +04:00
Alexander Udalov f7b6457139 Replace "jet" package name with "kotlin" in testData 2014-03-02 19:55:26 +04:00
Nikolay Krasko c0187ffcd1 Always create descriptors for class object psi element in lazy resolve
KT-4397 Exception: @NotNull method org/jetbrains/jet/lang/resolve/lazy/ResolveSession.getClassDescriptor must not return null

 #KT-4397 Fixed
2014-01-13 16:14:59 +04:00
Pavel V. Talanov 91336a888c Fix invalid usage of getOverriddenDescriptors in JetLineMarkerProvider 2013-10-07 20:50:37 +04:00
Nikolay Krasko 9bb2d90bca Go to implementation line markers for properties 2013-05-20 14:17:45 +04:00
Nikolay Krasko aac7f84c25 Fix absence of implemented/overridden markers on overridden functions 2013-05-20 14:02:46 +04:00
Nikolay Krasko 0c749005e1 KT-3498 Show overrided/implemented line marker
#KT-3498 Fixed
2013-05-01 16:53:32 +04:00
Nikolay Krasko 0e95581bca Test not only line marker number but also their position 2013-05-01 16:53:31 +04:00
Vladimir Rudev 99aee736d1 KT-2723 Overridden/Implemented gutter icon for class and trait 2013-01-23 15:59:08 +04:00