Commit Graph

19005 Commits

Author SHA1 Message Date
Denis Zharkov b3bf8933df Extensions PsiElement.getParentOfType with reified T
1. Renamed *ByType -> *OfType (as in PsiTreeUtil.java)
2. Introduced PsiElement.getStrictParentOfType and PsiElement.getNonStrictParentOfType
with reified TP
3. Replaced current usages of PsiTreeUtil.getParentOfType and current
extensions
4. Made reified version of PsiElement.getParentOfTypeAndBranch with
default strict value --- false (as it used)
2014-12-01 22:28:35 +03:00
Denis Zharkov 8b80daa2a1 Replaced filterIsInstance with class-literal argument with simplified version 2014-12-01 22:28:34 +03:00
Andrey Breslav c9c16696f1 Do not fail when delegating to an (unsupported) dynamic type on the JVM 2014-12-01 20:43:46 +03:00
Andrey Breslav e10d29a10b JS-specific tests moved to a separate directory 2014-12-01 20:43:46 +03:00
Andrey Breslav 6187a0e9e0 Fix for UNSUPPORTED diagnostic for dynamic types in local classes 2014-12-01 20:43:46 +03:00
Andrey Breslav 8211f084e6 Dynamic types spec cleaned up 2014-12-01 20:43:46 +03:00
Andrey Breslav b7dd63465b Allow invoke-convention on dynamic expressions 2014-12-01 20:43:45 +03:00
Andrey Breslav 53bbf20b0d Allow augmented assignments on dynamic receivers 2014-12-01 20:43:45 +03:00
Andrey Breslav cc210c2950 Minor. Comments removed 2014-12-01 20:43:45 +03:00
Andrey Breslav 300f484535 Support operator conventions for dynamic types
TODO:
- invoke
- += etc
2014-12-01 20:43:45 +03:00
Andrey Breslav fac53de40c Mark dynamic calls in for's, delegated properties and multi-declarations 2014-12-01 20:43:44 +03:00
Andrey Breslav 4adf74b46f Do not allow compareTo() to return Int? 2014-12-01 20:43:44 +03:00
Andrey Breslav 304d22553c Prohibit using dynamic as an argument for reified type parameters 2014-12-01 20:43:44 +03:00
Andrey Breslav d5fdfcb797 Resolve dynamic.extensionForDynamic() statically 2014-12-01 20:43:44 +03:00
Andrey Breslav 8ee00b70ee Tests for extensions properties on dynamic types 2014-12-01 20:43:43 +03:00
Andrey Breslav 5cced5a451 Comments on bounded dynamic types 2014-12-01 20:43:43 +03:00
Andrey Breslav 1afe6fca5b Test for vararg parameter of dynamic type 2014-12-01 20:43:43 +03:00
Andrey Breslav 8cf6d24ffe Test for using dynamic types in conditions 2014-12-01 20:43:43 +03:00
Andrey Breslav ea36024893 Report an error on dynamic types used as supertypes or upper bounds 2014-12-01 20:43:43 +03:00
Andrey Breslav 65164e95b5 Test for overrides involving dynamic types 2014-12-01 20:43:42 +03:00
Andrey Breslav e09b624f05 dynamic is not a keyword on the left-hand side of callable references 2014-12-01 20:43:42 +03:00
Andrey Breslav 1f66c64ee0 dynamic receiver admits nullable values 2014-12-01 20:43:42 +03:00
Andrey Breslav ef34b5c9a9 Commented code removed 2014-12-01 20:43:42 +03:00
Andrey Breslav 71b2e8bcf1 Test for substitutions with dynamic types 2014-12-01 20:43:41 +03:00
Andrey Breslav a1c1d25575 Test for using dynamic types with smart casts 2014-12-01 20:43:41 +03:00
Andrey Breslav 712f776545 Test for using dynamic types with smart casts 2014-12-01 20:43:41 +03:00
Andrey Breslav cdecb9d8c4 Test for using dynamic types in type inference 2014-12-01 20:43:41 +03:00
Andrey Breslav 7f0df032b4 Highlight dynamic calls in the editor 2014-12-01 20:43:41 +03:00
Andrey Breslav 52f1e037c1 Dynamic calls have priority over extensions 2014-12-01 20:43:40 +03:00
Andrey Breslav f58b30706e Parsing dynamic in extension receiver position 2014-12-01 20:43:40 +03:00
Andrey Breslav 4f3158abb3 Mark dynamic calls in tests 2014-12-01 20:43:40 +03:00
Andrey Breslav c8029307fa Forbid dynamic on the RHS of is and as 2014-12-01 20:43:40 +03:00
Andrey Breslav 645d931a9e Support for named arguments in dynamic calls 2014-12-01 20:43:39 +03:00
Andrey Breslav 0ebc478d50 Test for dynamic calls with lambdas 2014-12-01 20:43:39 +03:00
Andrey Breslav d2e6767c07 Delegation and nullability turned into capabilities
Otherwise they did not sustain substitutions
2014-12-01 20:43:39 +03:00
Andrey Breslav 845f30975d Basic support for dynamic calls 2014-12-01 20:43:39 +03:00
Andrey Breslav d5932e1a33 Nullability of dynamic types 2014-12-01 20:43:38 +03:00
Andrey Breslav e0bd881c1e Rendering for dynamic types 2014-12-01 20:43:38 +03:00
Andrey Breslav 65794183e7 Specificity supported for dynamic types 2014-12-01 20:43:38 +03:00
Andrey Breslav 20513abe04 Allow dynamic types only in some contexts 2014-12-01 20:43:38 +03:00
Andrey Breslav 28b466d069 Parsing dynamic types 2014-12-01 20:43:37 +03:00
Andrey Breslav 0f26998b19 Spec document for dynamic types 2014-12-01 20:43:37 +03:00
Valentin Kipyatkov d8bad58db8 Fixed JetDeclarationStub.getParent() which was incorrectly implemented before 2014-12-01 16:06:52 +03:00
Valentin Kipyatkov 2daeaa38d9 2 more indices not needed anymore 2014-12-01 16:06:52 +03:00
Valentin Kipyatkov 2a2fa5d4f2 More simple and effective top-level declarations by name search 2014-12-01 16:06:52 +03:00
Valentin Kipyatkov e6e6fda251 More correct implementation PsiShortNamesCache (although I do not know if it matters at all) 2014-12-01 16:06:51 +03:00
Valentin Kipyatkov 486c83a174 Dropped 2 more not needed indices 2014-12-01 16:06:51 +03:00
Valentin Kipyatkov 4408944dc3 Dropped index which is not needed anymore 2014-12-01 16:06:51 +03:00
Valentin Kipyatkov 1431167afb Renamed two index classes for consistency 2014-12-01 16:06:51 +03:00
Valentin Kipyatkov a50f9863b3 Classes by package index now contains only top-level classes 2014-12-01 16:06:51 +03:00