Commit Graph

1727 Commits

Author SHA1 Message Date
Nikolay Krasko a1ef17fade Enable test 2012-02-13 14:29:33 +04:00
Evgeny Gerashchenko c566204966 Fixed "Can't make indentation with pressing Tab"
#KT-1241 fixed
2012-02-13 14:22:17 +04:00
Stepan Koltsov 4b94eb5e2b rewrite owner when copying FunctionDescriptor from supertype scope
that fixes invocation:

>>> StringBuilder.length()

that was compiled to

>>> invokevirtual CharSequence.length()

and now compiles to

>>> invokevirtual StringBuilder.length()

Essentially patch rewrites FunctionDescriptor.containingDeclaration
when FunctionDescriptor is copied to subclass scope.

FunctionDescriptor now has kind field that can be
* DECLARATION (for "real" function, maybe abstract)
* DELEGATION
* FAKE_OVERRIDE (created for functions from supertypes)

All tests pass although some parts of code are buggy and ugly.

Random comments about this patch:

* FunctionDescriptor.overrides point to function descriptors of supertype scopes

* Filling of memberScope with supertypes is moved to OverrideResolver

* ExpressionCodegen.intermediateValueForProperty must be rewritten

* Patch adds not nice REDECLARATION reports (see compiler/testData/diagnostics/tests/*).
  Will be fixed later.
2012-02-10 20:36:40 +04:00
Nikolay Krasko 41455a56c5 - KT-1227 Can't see basic types in class completion
- Remove duplicated test
2012-02-10 18:42:23 +04:00
Nikolay Krasko 21394c8486 - KT-1232 Do not place import with default imports in scope after completion
- Don't activate not-in-scope completion on typing by default
2012-02-10 16:27:05 +04:00
Evgeny Gerashchenko b33c6ab9ea Fixed tests (removed reference to removed action) 2012-02-10 13:40:08 +04:00
Evgeny Gerashchenko 5265938826 Changed NextPrevParameterAction to JetTemplateParmeterTraversalPolicy (Tab/Shift+Tab are working now). 2012-02-10 12:38:46 +04:00
Evgeny Gerashchenko b6fe7fe85f Added compiler diagnostic for unresolved IDE templates. 2012-02-10 12:38:46 +04:00
Evgeny Gerashchenko 47764add22 Changed completion for 'iter' live template, now check is the same as used in checking real for loops. 2012-02-09 21:56:28 +04:00
Nikolay Krasko 8ac3961a3d Fix imports from JavaDescriptorResolver 2012-02-09 20:36:49 +04:00
Maxim Shafirov 93bdc45d48 As kotlinc and IDEA share some classes one must ensure we only use kotlinc classes, while in compiler process. 2012-02-09 20:30:45 +04:00
Maxim Shafirov 0bbe267a75 thread context classloader for the compiler to find its dependencies 2012-02-09 19:05:38 +04:00
Nikolay Krasko cdac293a8d - Fix typing enter after import
- Prepared tests for KT-1161 (disabled)
2012-02-09 18:11:40 +04:00
Nikolay Krasko 8eb9649e7f KT-1158 Formatter: indent fluent api calls 2012-02-09 18:07:55 +04:00
Evgeny Gerashchenko c13f653244 Fixed compilation which failed because of changes in IDEA platform. 2012-02-09 12:41:35 +04:00
Nikolay Krasko af9fcfd5e0 Fix automatic selection of completion proposal 2012-02-08 19:36:31 +04:00
Evgeny Gerashchenko f671e78dce Fixed keyword completion tests. 2012-02-08 18:59:26 +04:00
Alefas 6fe52d15b4 Few fixes to Introduce Variable (no new features added)
Added few tests to Introduce Variable
More strict requirements for expressions to introduce it.
2012-02-08 17:07:38 +04:00
Evgeny Gerashchenko 4b87d02627 Filled completion menu for iter live template. 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko f64ecd7eb5 Renamed kotlinVariableOfType() macro to kotlinAnyVariable() 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko ca446030ea Added filtering variables in BaseJetVariableMacro 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko f0073d0289 Extracted BaseJetVariableMacro from JetVariableOfTypeMacro. 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko 8d50d17f92 Added auto-importing when methods are implemented or overriden. 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko a2602ce521 Added auto-importing when methods are implemented or overriden. 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko c089e2d80f Added 'object' synonym for 'anonymous' live template. 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko 1dd5f84217 Removed named object template. 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko 1b9a04aaf7 Setting caret between () only if non-primary constructor exists. 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko 36f42e7029 Added automatic implementing all abstract methods. 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko 9e021c07a7 Adding () automatically if supertype is class. 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko 5a6c658204 Added completion in 'anonymous' live template. 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko ce0f38d783 Added 'anonymous' live template. 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko 936ecdb65a Replace 'enum' keyword in completion with enum class template. 2012-02-08 15:58:08 +04:00
Evgeny Gerashchenko 3eb195b428 Added 'exfun', 'exval' and 'exvar' live templates. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko 159d396c4b Added 'closure' live template. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko aae5bc3b70 Added expression live template context type. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko 13f6201a40 Added 'interface' and 'singleton' live templates. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko 358c55793d Added void, fun0 fun1 and fun2 live templates. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko d81492a80f Added class context type for live templates. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko 02ae0bf2a8 Added live templates to completion. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko 661b3b036f Added templates for 'while' and 'do-while' loops. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko 7010f3bd8e Added template for 'when' expression and entry. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko ce48e39d40 Added template for 'for' loop. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko 38bd4dbcf7 Fixed NPE in JetFoldingBuilder 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko 07f07c8da8 Added template for class object. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko 679862778c Added templates for named object. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko e4953f60fb Added templates for class and trait. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko 8d79ea4a2f Added templates for val and var. Removed corresponding keywords from completion. 2012-02-08 15:58:07 +04:00
Evgeny Gerashchenko ec39d9caae Added oneline if-else template. 2012-02-08 15:58:06 +04:00
Evgeny Gerashchenko 884e6eb54e Added placeholders for if-else blocks and function body. 2012-02-08 15:58:06 +04:00
Evgeny Gerashchenko 4811fc9400 Added traversal over template parameters (temporarily using todo until corresponding patch is applied to IDEA) 2012-02-08 15:58:06 +04:00