Commit Graph

6397 Commits

Author SHA1 Message Date
Stanislav Erokhin 6f9d9759ce Renamed KtScope to MemberScope 2015-11-05 14:34:00 +03:00
Zalim Bashorov c456ab0f74 Minor: refactoring ExpressionTypingUtils#checkVariableShadowing -- inline the search older descriptor 2015-11-04 22:15:39 +03:00
Stanislav Erokhin a90ca14033 Removed KtScope.Empty and created util function emptyScope 2015-11-04 14:28:28 +03:00
Stanislav Erokhin 4e891a3f98 Minor. moved util method to Companion of LexicalScope 2015-11-04 14:28:27 +03:00
Stanislav Erokhin 2c7746cafd Minor. Simplified code. 2015-11-04 14:28:27 +03:00
Stanislav Erokhin b02da0dc2f Created custom LexicalScope wrapper for resolving callable reference. 2015-11-04 14:28:26 +03:00
Stanislav Erokhin f7629b0c84 Removed getAllDescriptors() and getOwnDeclaredDescriptors() from KtScope 2015-11-04 14:28:25 +03:00
Stanislav Erokhin 0b5de434fa Removed usages KtScope.getAllDescriptors 2015-11-04 12:41:34 +03:00
Stanislav Erokhin 21fdd2ffc3 Created common supertype for LexicalScope & ImportingScope -- HierarchicalScope 2015-11-04 12:41:33 +03:00
Stanislav Erokhin 4c36e20242 Moved FilteringScope to frontend module 2015-11-04 12:41:32 +03:00
Stanislav Erokhin 6412df2e0b Change return type of KtScope.getProperties() 2015-11-04 12:41:32 +03:00
Stanislav Erokhin 7cd667c0e3 Removed unused methods from KtScope. 2015-11-04 12:41:31 +03:00
Stanislav Erokhin cc56cf6292 Removed several hacks from ScopeUtils.kt 2015-11-04 12:41:30 +03:00
Stanislav Erokhin 711daa459a Minor. Removed util method LexicalScope.asKtScope() 2015-11-04 12:41:30 +03:00
Stanislav Erokhin 40146a0df8 Minor. Make WritableScopeStorage abstract class 2015-11-04 12:41:29 +03:00
Stanislav Erokhin 5c6134af81 Minor. Removed WritableScopeImpl. 2015-11-04 12:41:28 +03:00
Stanislav Erokhin a5c9f4d353 Minor. removed usage WritableScopeImpl from tests 2015-11-04 12:41:27 +03:00
Stanislav Erokhin c1fa973324 Minor. remove usage of WritableScope 2015-11-04 12:41:25 +03:00
Stanislav Erokhin 71620d2ed1 Minor. Move LockLevel to LexicalWritableScope 2015-11-04 12:41:24 +03:00
Stanislav Erokhin fe61f41a94 Minor. remove unused import 2015-11-04 12:41:23 +03:00
Nikolay Krasko e10f7fb464 Don't report missing getValue/setValue method error when it's was impossible to finish resolve
#KT-9803 Fixed
2015-11-04 02:31:15 +03:00
Anton Sukhonosenko 141ffa27dc val / var are now forbidden on a loop multi declaration parameter #KT-6274 Fixed
VAL_OR_VAR_ON_LOOP_MULTI_PARAMETER error added
KtValVarKeywordOwner interface added for PSIs that have getValOrVarKeyword method
2015-11-03 15:30:50 +03:00
Mikhail Glukhikh 41ebfd025e More precise diagnostics of smart cast impossible #KT-7240 Fixed 2015-11-03 13:38:51 +03:00
Mikhail Glukhikh 03aaddd379 More correct handling of possible type set during assignment #KT-8229 Fixed 2015-11-03 12:49:21 +03:00
Mikhail Glukhikh 0a5a5a2e36 More precise diagnostics is added for smart cast impossible #KT-8810 Fixed 2015-11-03 11:15:58 +03:00
Pavel V. Talanov fff404780c Add capabilities to moduleDescriptor as a way to put user data into module
Add OriginCapability to ide modules
2015-11-02 20:38:10 +03:00
Dmitry Jemerov 736b496f6a drop deprecated @platformName and @platformStatic annotations 2015-11-02 17:00:44 +01:00
Pavel V. Talanov bca516bac3 KtClassBody: get parent by stub is possible 2015-11-02 18:38:43 +03:00
Pavel V. Talanov dc1fbe89ec J2K ValueParameterDescriptor inteface in one go 2015-11-02 18:38:30 +03:00
Zalim Bashorov 16d585e204 Don't track lookups:
* when find local variables
  we don't need them for incremental compilation;
* when check overrides
  we going to track inheritance separatly;
* when get companion object descriptor;
* when find Descriptor by fqname
  isn't interesting now because used from light-classes and and java-loder;
* when create qualifier
  we already looked up names in this context before.
2015-11-02 18:18:35 +03:00
Zalim Bashorov d78d96a856 Don't track lookups to EnumEntryScope and when check names in constraints 2015-11-02 18:18:34 +03:00
Zalim Bashorov a5d8b47083 Refactoring: introduced val location: LocationInfo? in LookupLocation and use it in LookupTracker::record 2015-11-02 18:18:29 +03:00
Alexey Sedunov 520e90acf1 Minor: Use kotlin.lazy instead of kotlin.Delegates.lazy in KtPsiFactory.CallableBuilder 2015-11-02 15:15:44 +03:00
Alexey Sedunov 6dd58ad197 Inline: Fix inlining of if-expressions into qualified expressions
#KT-8008 Fixed
2015-11-02 15:15:29 +03:00
Alexey Sedunov 22393d4cd2 Formatter: Use formatter to automatically insert semicolons after the last enum entry when needed 2015-11-02 15:15:26 +03:00
Dmitry Petrov e1cb13bd90 Qualifier no longer defers "(nested) class vs package" resolution.
Consider FQN 'a.b.c'.
If 'a' is a classifier in the current scope,
    resolve rest in the corresponding class scope.
Otherwise (if 'a' is a package),
    find the maximum possible prefix 'a.b' resolving to a package,
    resolve rest in the corresponding package scope.
2015-11-02 10:22:50 +03:00
Stanislav Erokhin 77411b2181 Allowed call value with extension function type as simple function type. 2015-10-31 10:01:07 +03:00
Denis Zharkov b6f724cf58 Disconnect loops between upper bounds of type parameters
#KT-9759 Fixed
2015-10-31 09:33:46 +03:00
Denis Zharkov 9b4ad1466a Minor. Extract 'getAllUpperBounds' 2015-10-31 09:33:46 +03:00
Denis Zharkov 18097c0ab7 Introduce 'SupertypeLoopsResolver' and inject it's impls 2015-10-31 09:33:46 +03:00
Denis Zharkov 0bc5043c75 Extract and convert 'findLoopsInSupertypesAndDisconnect' 2015-10-31 09:33:45 +03:00
Denis Zharkov 8ba2dc5530 Simplify detecting loops in classes supertypes 2015-10-31 09:33:45 +03:00
Alexander Udalov b5f89100f6 Remove obsolete SCRIPT markers 2015-10-30 23:41:32 +03:00
Valentin Kipyatkov 752cdd5f83 KT-9815 Import insertion (on Alt-Enter) does not work in Evaluate Expression
#KT-9815 Fixed
2015-10-30 17:43:25 +03:00
Michael Nedzelsky 9a8b73c5a5 fix texts in error messages for Fintite Bound Restriction & Non-Expansive Inheritance Restriction 2015-10-30 16:39:19 +03:00
Mikhail Glukhikh 182cde1e02 Standard data flow analysis results are taken into account during condition analysis #KT-7933 Fixed 2015-10-30 16:14:34 +03:00
Mikhail Glukhikh dd1196ae6b Condition analysis: left part of and (true condition) / or (false condition) is used for right part analysis #KT-8780 Fixed 2015-10-30 16:14:33 +03:00
Mikhail Glukhikh 12103d19d2 Smart casts inside property chains like a?.b?.c.foo(a, b) are now handled correctly #KT-7290 Fixed 2015-10-30 16:14:32 +03:00
Michael Nedzelsky 6ebe0c30ec fix KT-9299 In a project with circular dependencies between modules, IDE reports error on use of internal class from another module, but the corresponding code still compiles and runs.
#KT-9299 Fixed
2015-10-30 14:40:46 +03:00
Mikhail Glukhikh 17b275af23 Preliminary declaration visitor: create for top-most declaration which is not class 2015-10-30 13:44:33 +03:00