Merge branch 'vlan/pyi'
[idea/community.git] / python / src / com / jetbrains / python / psi / PyUtil.java
index 5090ec85c20a5498818bf373e83a72dab80edba6..da93f194b54a11961de3657838af0604800e335c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2014 JetBrains s.r.o.
+ * Copyright 2000-2015 JetBrains s.r.o.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@ import com.intellij.codeInsight.lookup.LookupElement;
 import com.intellij.codeInsight.lookup.LookupElementBuilder;
 import com.intellij.ide.fileTemplates.FileTemplate;
 import com.intellij.ide.fileTemplates.FileTemplateManager;
-import com.intellij.ide.scratch.ScratchFileService;
+import com.intellij.ide.scratch.ScratchRootType;
 import com.intellij.injected.editor.VirtualFileWindow;
 import com.intellij.lang.ASTFactory;
 import com.intellij.lang.ASTNode;
@@ -933,11 +933,11 @@ public class PyUtil {
   /**
    * If directory is a PsiDirectory, that is also a valid Python package, return PsiFile that points to __init__.py,
    * if such file exists, or directory itself (i.e. namespace package). Otherwise, return {@code null}.
-   * Unlike {@link #turnDirIntoInit(com.intellij.psi.PsiElement)} this function handles namespace packages and
+   * Unlike {@link #turnDirIntoInit(PsiElement)} this function handles namespace packages and
    * accepts only PsiDirectories as target.
    *
    * @param directory directory to check
-   * @param anchor optional PSI element to determine language level as for {@link #isPackage(com.intellij.psi.PsiDirectory, com.intellij.psi.PsiElement)}
+   * @param anchor optional PSI element to determine language level as for {@link #isPackage(PsiDirectory, PsiElement)}
    * @return PsiFile or PsiDirectory, if target is a Python package and {@code null} null otherwise
    */
   @Nullable
@@ -1082,10 +1082,6 @@ public class PyUtil {
     return name.length() > 4 && name.startsWith("__") && name.endsWith("__");
   }
 
-  public static boolean isPythonIdentifier(@NotNull String name) {
-    return PyNames.isIdentifier(name);
-  }
-
   /**
    * Constructs new lookup element for completion of keyword argument with equals sign appended.
    *
@@ -1725,7 +1721,7 @@ public class PyUtil {
   }
 
   /**
-   * Filters out {@link com.jetbrains.python.refactoring.classes.membersManager.PyMemberInfo}
+   * Filters out {@link PyMemberInfo}
    * that should not be displayed in this refactoring (like object)
    *
    * @param pyMemberInfos collection to sort
@@ -1793,10 +1789,10 @@ public class PyUtil {
 
   /**
    * Checks that given class is the root of class hierarchy, i.e. it's either {@code object} or
-   * special {@link com.jetbrains.python.PyNames#FAKE_OLD_BASE} class for old-style classes.
+   * special {@link PyNames#FAKE_OLD_BASE} class for old-style classes.
    *
    * @param cls    Python class to check
-   * @see com.jetbrains.python.psi.impl.PyBuiltinCache
+   * @see PyBuiltinCache
    * @see PyNames#FAKE_OLD_BASE
    */
   public static boolean isObjectClass(@NotNull PyClass cls) {
@@ -1806,11 +1802,11 @@ public class PyUtil {
 
   /**
    * Checks that given type is the root of type hierarchy, i.e. it's type of either {@code object} or special
-   * {@link com.jetbrains.python.PyNames#FAKE_OLD_BASE} class for old-style classes.
+   * {@link PyNames#FAKE_OLD_BASE} class for old-style classes.
    *
    * @param type   Python class to check
    * @param anchor arbitrary PSI element to find appropriate SDK
-   * @see com.jetbrains.python.psi.impl.PyBuiltinCache
+   * @see PyBuiltinCache
    * @see PyNames#FAKE_OLD_BASE
    */
   public static boolean isObjectType(@NotNull PyType type, @NotNull PsiElement anchor) {
@@ -1819,13 +1815,8 @@ public class PyUtil {
   }
 
   public static boolean isInScratchFile(@NotNull PsiElement element) {
-    final ScratchFileService service = ScratchFileService.getInstance();
-    final PsiFile file = element.getContainingFile();
-    if (file != null) {
-      final VirtualFile virtualFile = file.getVirtualFile();
-      return service != null && virtualFile != null && service.getRootType(virtualFile) != null;
-    }
-    return false;
+    PsiFile file = element.getContainingFile();
+    return file != null && ScratchRootType.getInstance().isScratchFile(file.getVirtualFile());
   }
 
   /**