constructor reference: don't ignore constructor parameters during method reference...
[idea/community.git] / java / java-impl / src / com / intellij / codeInsight / externalAnnotation / NotNullAnnotationProvider.java
1 // Copyright 2000-2019 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.
2 package com.intellij.codeInsight.externalAnnotation;
3
4 import com.intellij.codeInsight.NullableNotNullManager;
5 import com.intellij.codeInsight.intention.AddAnnotationPsiFix;
6 import com.intellij.openapi.project.Project;
7 import com.intellij.psi.PsiModifierListOwner;
8 import com.intellij.util.ArrayUtilRt;
9 import org.jetbrains.annotations.NotNull;
10
11 public class NotNullAnnotationProvider implements AnnotationProvider {
12   @NotNull
13   @Override
14   public String getName(Project project) {
15     return NullableNotNullManager.getInstance(project).getDefaultNotNull();
16   }
17
18   @Override
19   public boolean isAvailable(PsiModifierListOwner owner) {
20     return AddAnnotationPsiFix.isNullabilityAnnotationApplicable(owner);
21   }
22
23   @NotNull
24   @Override
25   public String[] getAnnotationsToRemove(Project project) {
26     return ArrayUtilRt.toStringArray(NullableNotNullManager.getInstance(project).getNullables());
27   }
28 }