mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
json: use only one singleton of JsonOriginalPsiWalker
This commit is contained in:
@@ -14,7 +14,6 @@ import com.intellij.spellchecker.tokenizer.SpellcheckingStrategy;
|
||||
import com.intellij.spellchecker.tokenizer.TokenConsumer;
|
||||
import com.intellij.spellchecker.tokenizer.Tokenizer;
|
||||
import com.intellij.util.ThreeState;
|
||||
import com.jetbrains.jsonSchema.extension.JsonLikePsiWalker;
|
||||
import com.jetbrains.jsonSchema.ide.JsonSchemaService;
|
||||
import com.jetbrains.jsonSchema.impl.JsonOriginalPsiWalker;
|
||||
import com.jetbrains.jsonSchema.impl.JsonSchemaObject;
|
||||
@@ -62,7 +61,7 @@ public class JsonSpellcheckerStrategy extends SpellcheckingStrategy {
|
||||
String value = element.getValue();
|
||||
if (StringUtil.isEmpty(value)) return false;
|
||||
|
||||
JsonOriginalPsiWalker walker = JsonLikePsiWalker.JSON_ORIGINAL_PSI_WALKER;
|
||||
JsonOriginalPsiWalker walker = JsonOriginalPsiWalker.INSTANCE;
|
||||
final PsiElement checkable = walker.findElementToCheck(element);
|
||||
if (checkable == null) return false;
|
||||
final ThreeState isName = walker.isName(checkable);
|
||||
|
||||
@@ -20,8 +20,6 @@ import java.util.Set;
|
||||
* @author Irina.Chernushina on 2/15/2017.
|
||||
*/
|
||||
public interface JsonLikePsiWalker {
|
||||
JsonOriginalPsiWalker JSON_ORIGINAL_PSI_WALKER = new JsonOriginalPsiWalker();
|
||||
|
||||
/**
|
||||
* Returns YES in place where a property name is expected,
|
||||
* NO in place where a property value is expected,
|
||||
@@ -60,7 +58,7 @@ public interface JsonLikePsiWalker {
|
||||
|
||||
@Nullable
|
||||
static JsonLikePsiWalker getWalker(@NotNull final PsiElement element, JsonSchemaObject schemaObject) {
|
||||
if (JSON_ORIGINAL_PSI_WALKER.handles(element)) return JSON_ORIGINAL_PSI_WALKER;
|
||||
if (JsonOriginalPsiWalker.INSTANCE.handles(element)) return JsonOriginalPsiWalker.INSTANCE;
|
||||
|
||||
return JsonLikePsiWalkerFactory.EXTENSION_POINT_NAME.getExtensionList().stream()
|
||||
.filter(extension -> extension.handles(element))
|
||||
|
||||
@@ -11,7 +11,6 @@ import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiLanguageInjectionHost;
|
||||
import com.intellij.util.ThreeState;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.jetbrains.jsonSchema.extension.JsonLikePsiWalker;
|
||||
import com.jetbrains.jsonSchema.ide.JsonSchemaService;
|
||||
import org.intellij.lang.regexp.ecmascript.EcmaScriptRegexpLanguage;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -22,7 +21,7 @@ public class JsonSchemaRegexInjector implements MultiHostInjector {
|
||||
@Override
|
||||
public void getLanguagesToInject(@NotNull MultiHostRegistrar registrar, @NotNull PsiElement context) {
|
||||
if (!JsonSchemaService.isSchemaFile(context.getContainingFile())) return;
|
||||
JsonOriginalPsiWalker walker = JsonLikePsiWalker.JSON_ORIGINAL_PSI_WALKER;
|
||||
JsonOriginalPsiWalker walker = JsonOriginalPsiWalker.INSTANCE;
|
||||
if (!(context instanceof JsonStringLiteral)) return;
|
||||
ThreeState isName = walker.isName(context);
|
||||
JsonPointerPosition position = walker.findPosition(context, isName == ThreeState.NO);
|
||||
|
||||
Reference in New Issue
Block a user