Get rid of JsonNamedElement interface
authorMikhail Golubev <mikhail.golubev@jetbrains.com>
Tue, 26 Aug 2014 12:54:53 +0000 (16:54 +0400)
committerMikhail Golubev <mikhail.golubev@jetbrains.com>
Tue, 26 Aug 2014 12:54:53 +0000 (16:54 +0400)
json/gen/com/intellij/json/psi/JsonProperty.java
json/gen/com/intellij/json/psi/JsonVisitor.java
json/src/com/intellij/json/psi/JsonNamedElement.java [deleted file]
json/src/json.bnf

index 756024ab507ddac2b80e4516d8ecd9469672a3fa..86f8867360ca6b5095e0ae9fdc38ab76f9931ac4 100644 (file)
@@ -4,8 +4,9 @@ package com.intellij.json.psi;
 import java.util.List;
 import org.jetbrains.annotations.*;
 import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiNamedElement;
 
-public interface JsonProperty extends JsonNamedElement {
+public interface JsonProperty extends JsonElement, PsiNamedElement {
 
   @NotNull
   String getName();
index 8c0c33cb5cc903e5cf2098c28df2b0416a192107..aadae923d624fa5702efa3eea3ad05845f08640b 100644 (file)
@@ -3,6 +3,7 @@ package com.intellij.json.psi;
 
 import org.jetbrains.annotations.*;
 import com.intellij.psi.PsiElementVisitor;
+import com.intellij.psi.PsiNamedElement;
 
 public class JsonVisitor extends PsiElementVisitor {
 
@@ -31,7 +32,8 @@ public class JsonVisitor extends PsiElementVisitor {
   }
 
   public void visitProperty(@NotNull JsonProperty o) {
-    visitNamedElement(o);
+    visitElement(o);
+    // visitPsiNamedElement(o);
   }
 
   public void visitStringLiteral(@NotNull JsonStringLiteral o) {
@@ -42,10 +44,6 @@ public class JsonVisitor extends PsiElementVisitor {
     visitElement(o);
   }
 
-  public void visitNamedElement(@NotNull JsonNamedElement o) {
-    visitElement(o);
-  }
-
   public void visitElement(@NotNull JsonElement o) {
     visitElement(o);
   }
diff --git a/json/src/com/intellij/json/psi/JsonNamedElement.java b/json/src/com/intellij/json/psi/JsonNamedElement.java
deleted file mode 100644 (file)
index ee65e71..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.intellij.json.psi;
-
-import com.intellij.psi.PsiNamedElement;
-
-/**
- * Empty interface as workaround for inability to specify two interfaces in BNF grammar.
- *
- * @author Mikhail Golubev
- */
-public interface JsonNamedElement extends JsonElement, PsiNamedElement{
-}
index 3d0573f3a05bc6df189c47066a6101da5178ced3..6cdab08b01e9b288e88284663c5265502565f8da 100644 (file)
 
     extends("object|array|literal")=value
     extends("string_literal|number_literal|boolean_literal|null_literal")=literal
-    implements("property")="com.intellij.json.psi.JsonNamedElement"
+    implements("property")=[
+      "com.intellij.json.psi.JsonElement"
+      "com.intellij.psi.PsiNamedElement"
+    ]
 }
 
 json ::= object | array