package glslplugin.annotation.impl; import com.intellij.lang.annotation.AnnotationHolder; import glslplugin.annotation.Annotator; import glslplugin.lang.elements.declarations.GLSLDeclarator; import glslplugin.lang.elements.declarations.GLSLQualifier; import glslplugin.lang.elements.declarations.GLSLVariableDeclaration; import org.jetbrains.annotations.NotNull; /** * Created by abigail on 09/07/15. */ public class ConstInitializationAnnotation extends Annotator<GLSLDeclarator> { @Override public void annotate(GLSLDeclarator declarator, AnnotationHolder holder) { if (declarator.findParentByClass(GLSLVariableDeclaration.class) == null) return; if (declarator.getInitializer() != null || declarator.getInitializerExpression() != null) return; if (declarator.getQualifiedType().hasQualifier(GLSLQualifier.Qualifier.CONST)) { holder.createErrorAnnotation(declarator, "Const variable declared with no initializer"); } } @NotNull @Override public Class<GLSLDeclarator> getElementType() { return GLSLDeclarator.class; } }