fixed PY-14430 Inspection fails for Numpy Arrays return by some functions
authorEkaterina Tuzova <Ekaterina.Tuzova@jetbrains.com>
Tue, 24 Feb 2015 15:51:53 +0000 (18:51 +0300)
committerEkaterina Tuzova <Ekaterina.Tuzova@jetbrains.com>
Tue, 24 Feb 2015 15:51:53 +0000 (18:51 +0300)
Used appropriate type for arrays, trim array element type names (f.i array of ndtype float -> array)

python/src/com/jetbrains/numpy/codeInsight/NumpyDocStringTypeProvider.java
python/src/com/jetbrains/numpy/documentation/NumPyDocString.java

index 8e2525c5bd87184d6ccc5a93f4fa548219db6011..daae5d6ed39dea6d54b5069f23fcaeb07b49421a 100644 (file)
@@ -49,7 +49,7 @@ public class NumpyDocStringTypeProvider extends PyTypeProviderBase {
     // 16 occurrences
     NUMPY_ALIAS_TO_REAL_TYPE.put("scalar", "int or long or float or complex");
     // 10 occurrences
-    NUMPY_ALIAS_TO_REAL_TYPE.put("array", "collections.Iterable");
+    NUMPY_ALIAS_TO_REAL_TYPE.put("array", "numpy.core.multiarray.ndarray");
     // 9 occurrences
     NUMPY_ALIAS_TO_REAL_TYPE.put("any", "object");
     // 5 occurrences
index 5bb2881d1f561d4fb083da3383f5c500d5a4388b..72ab80c195a0de8c737b537bcb998aba8d83823e 100644 (file)
@@ -17,12 +17,12 @@ package com.jetbrains.numpy.documentation;
 
 import com.intellij.psi.PsiDirectory;
 import com.intellij.psi.PsiElement;
+import com.intellij.psi.util.QualifiedName;
 import com.jetbrains.python.PyNames;
 import com.jetbrains.python.psi.PyClass;
 import com.jetbrains.python.psi.PyFile;
 import com.jetbrains.python.psi.PyFunction;
 import com.jetbrains.python.psi.PyPsiFacade;
-import com.intellij.psi.util.QualifiedName;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -283,6 +283,10 @@ public class NumPyDocString {
     if (index >= 0) {
       return typeString.substring(0, index);
     }
+    index = typeString.indexOf(" of ");  // e.g. ndarray of dtype float
+    if (index >= 0) {
+      return typeString.substring(0, index);
+    }
     return typeString;
   }