diff --git a/java/java-psi-api/src/com/intellij/lang/jvm/JvmLanguage.java b/java/java-psi-api/src/com/intellij/lang/jvm/JvmLanguage.java new file mode 100644 index 000000000000..703f26b996a8 --- /dev/null +++ b/java/java-psi-api/src/com/intellij/lang/jvm/JvmLanguage.java @@ -0,0 +1,11 @@ +// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.lang.jvm; + +/** + * Marker interface for languages which are compiled into JVM-bytecode. + * + * @see JvmMetaLanguage + * @since 2018.2 + */ +public interface JvmLanguage { +} diff --git a/java/java-psi-api/src/com/intellij/lang/jvm/JvmMetaLanguage.java b/java/java-psi-api/src/com/intellij/lang/jvm/JvmMetaLanguage.java new file mode 100644 index 000000000000..ca026ce3cdca --- /dev/null +++ b/java/java-psi-api/src/com/intellij/lang/jvm/JvmMetaLanguage.java @@ -0,0 +1,21 @@ +// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.lang.jvm; + +import com.intellij.lang.Language; +import com.intellij.lang.MetaLanguage; +import org.jetbrains.annotations.NotNull; + +/** + * @since 2018.2 + */ +public class JvmMetaLanguage extends MetaLanguage { + + protected JvmMetaLanguage() { + super("Jvm"); + } + + @Override + public boolean matchesLanguage(@NotNull Language language) { + return language instanceof JvmLanguage; + } +} diff --git a/java/java-psi-impl/src/META-INF/JavaPsiPlugin.xml b/java/java-psi-impl/src/META-INF/JavaPsiPlugin.xml index 3ea55daab3e3..5c7a662f84f8 100644 --- a/java/java-psi-impl/src/META-INF/JavaPsiPlugin.xml +++ b/java/java-psi-impl/src/META-INF/JavaPsiPlugin.xml @@ -56,6 +56,7 @@ +