summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/PostfixTemplatePsiInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/PostfixTemplatePsiInfo.java')
-rw-r--r--platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/PostfixTemplatePsiInfo.java35
1 files changed, 26 insertions, 9 deletions
diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/PostfixTemplatePsiInfo.java b/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/PostfixTemplatePsiInfo.java
index 8f4716787453..6664d6404d64 100644
--- a/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/PostfixTemplatePsiInfo.java
+++ b/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/PostfixTemplatePsiInfo.java
@@ -16,25 +16,42 @@
package com.intellij.codeInsight.template.postfix.templates;
+import com.intellij.openapi.editor.Document;
import com.intellij.psi.PsiElement;
+import com.intellij.util.Function;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-public interface PostfixTemplatePsiInfo {
+import java.util.List;
+
+public abstract class PostfixTemplatePsiInfo {
@NotNull
- PsiElement createStatement(@NotNull PsiElement context,
- @NotNull String prefix,
- @NotNull String suffix);
+ public abstract PsiElement createStatement(@NotNull PsiElement context,
+ @NotNull String prefix,
+ @NotNull String suffix);
@NotNull
- PsiElement createExpression(@NotNull PsiElement context,
- @NotNull String prefix,
- @NotNull String suffix);
+ public abstract PsiElement createExpression(@NotNull PsiElement context,
+ @NotNull String prefix,
+ @NotNull String suffix);
@Nullable
- PsiElement getTopmostExpression(@NotNull PsiElement element);
+ public abstract PsiElement getTopmostExpression(@NotNull PsiElement element);
+
+ @NotNull
+ public abstract PsiElement getNegatedExpression(@NotNull PsiElement element);
+
+ @NotNull
+ public abstract List<PsiElement> getExpressions(@NotNull PsiElement context, @NotNull Document document, int offset);
@NotNull
- PsiElement getNegatedExpression(@NotNull PsiElement element);
+ public Function<PsiElement, String> getRenderer() {
+ return new Function<PsiElement, String>() {
+ @Override
+ public String fun(@NotNull PsiElement element) {
+ return element.getText();
+ }
+ };
+ }
}