Add method isDocString in PyStringLiteralExpression
authorMikhail Golubev <mikhail.golubev@jetbrains.com>
Thu, 20 Aug 2015 16:02:32 +0000 (19:02 +0300)
committerMikhail Golubev <mikhail.golubev@jetbrains.com>
Wed, 2 Sep 2015 11:34:54 +0000 (14:34 +0300)
python/psi-api/src/com/jetbrains/python/psi/PyStringLiteralExpression.java
python/src/com/jetbrains/python/psi/impl/PyStringLiteralExpressionImpl.java

index 553f6acfef1360ecc0ec5b10ad9c03099c2b17dd..7018f4a6a640b609c56f6a3e04a34649a7158aa9 100644 (file)
@@ -32,4 +32,9 @@ public interface PyStringLiteralExpression extends PyLiteralExpression, StringLi
 
   @NotNull
   List<Pair<TextRange, String>> getDecodedFragments();
+
+  /**
+   * @return true if this element has single string node and its type is {@link com.jetbrains.python.PyTokenTypes#DOCSTRING}
+   */
+  boolean isDocString();
 }
index f62dbe01449beee9dad597223b0d825e63ef6cd4..8dcb6455cb8a5543325c5f11ddc7061872662824 100644 (file)
@@ -188,6 +188,12 @@ public class PyStringLiteralExpressionImpl extends PyElementImpl implements PySt
     return myDecodedFragments;
   }
 
+  @Override
+  public boolean isDocString() {
+    final List<ASTNode> stringNodes = getStringNodes();
+    return stringNodes.size() == 1 && stringNodes.get(0).getElementType() == PyTokenTypes.DOCSTRING;
+  }
+
   @NotNull
   private static List<Pair<TextRange, String>> getDecodedFragments(@NotNull String encoded, int offset, boolean raw, boolean unicode) {
     final List<Pair<TextRange, String>> result = new ArrayList<Pair<TextRange, String>>();