本文整理汇总了Java中com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder类的典型用法代码示例。如果您正苦于以下问题:Java HighlightInfoHolder类的具体用法?Java HighlightInfoHolder怎么用?Java HighlightInfoHolder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HighlightInfoHolder类属于com.intellij.codeInsight.daemon.impl.analysis包,在下文中一共展示了HighlightInfoHolder类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: analyzeByVisitors
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
private boolean analyzeByVisitors(@NotNull final HighlightVisitor[] visitors,
@NotNull final HighlightInfoHolder holder,
final int i,
@NotNull final Runnable action) {
final boolean[] success = {true};
if (i == visitors.length) {
action.run();
}
else {
if (!visitors[i].analyze(getFile(), myUpdateAll, holder, new Runnable() {
@Override
public void run() {
success[0] = analyzeByVisitors(visitors, holder, i + 1, action);
}
})) {
success[0] = false;
}
}
return success[0];
}
示例2: analyze
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
@Override
public boolean analyze(@NotNull final PsiFile file,
final boolean updateWholeFile,
@NotNull final HighlightInfoHolder holder,
@NotNull final Runnable action) {
myHolder = holder;
myAnnotationHolder = new AnnotationHolderImpl(holder.getAnnotationSession(), myBatchMode);
try {
action.run();
}
finally {
myAnnotationHolder.clear();
myAnnotationHolder = null;
myHolder = null;
}
return true;
}
示例3: runHighlightVisitorsForInjected
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
private void runHighlightVisitorsForInjected(@NotNull PsiFile injectedPsi,
@NotNull final HighlightInfoHolder holder,
@NotNull final ProgressIndicator progress) {
HighlightVisitor[] filtered = getHighlightVisitors(injectedPsi);
try {
final List<PsiElement> elements = CollectHighlightsUtil.getElementsInRange(injectedPsi, 0, injectedPsi.getTextLength());
for (final HighlightVisitor visitor : filtered) {
visitor.analyze(injectedPsi, true, holder, new Runnable() {
@Override
public void run() {
for (PsiElement element : elements) {
progress.checkCanceled();
visitor.visit(element);
}
}
});
}
}
finally {
incVisitorUsageCount(-1);
}
}
示例4: analyze
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
@Override
public boolean analyze(
@NotNull PsiFile file,
boolean updateWholeFile,
@NotNull HighlightInfoHolder holder,
@NotNull Runnable action
) {
myHolder = holder;
try {
action.run();
}
finally {
myHolder = null;
}
return true;
}
示例5: runHighlightVisitorsForInjected
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
private void runHighlightVisitorsForInjected(@NotNull PsiFile injectedPsi,
@NotNull final HighlightInfoHolder holder,
@NotNull final ProgressIndicator progress) {
HighlightVisitor[] visitors = getHighlightVisitors();
try {
HighlightVisitor[] filtered = filterVisitors(visitors, injectedPsi);
final List<PsiElement> elements = CollectHighlightsUtil.getElementsInRange(injectedPsi, 0, injectedPsi.getTextLength());
for (final HighlightVisitor visitor : filtered) {
visitor.analyze(injectedPsi, true, holder, new Runnable() {
@Override
public void run() {
for (PsiElement element : elements) {
progress.checkCanceled();
visitor.visit(element);
}
}
});
}
}
finally {
incVisitorUsageCount(-1);
}
}
示例6: analyzeByVisitors
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
private void analyzeByVisitors(@NotNull final ProgressIndicator progress,
@NotNull final HighlightVisitor[] visitors,
@NotNull final HighlightInfoHolder holder,
final int i,
@NotNull final Runnable action) {
if (i == visitors.length) {
action.run();
}
else {
if (!visitors[i].analyze(myFile, myUpdateAll, holder, new Runnable() {
@Override
public void run() {
analyzeByVisitors(progress, visitors, holder, i+1, action);
}
})) {
cancelAndRestartDaemonLater(progress, myProject, this);
}
}
}
示例7: checkInAndOutModifiers
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
public static void checkInAndOutModifiers(DotNetGenericParameter parameter, HighlightInfoHolder highlightInfoHolder)
{
DotNetModifierList modifierList = parameter.getModifierList();
if(modifierList == null)
{
return;
}
PsiElement outModifierElement = modifierList.getModifierElement(CSharpModifier.OUT);
PsiElement inModifierElement = modifierList.getModifierElement(CSharpModifier.IN);
if(outModifierElement != null && inModifierElement != null)
{
registerInOutProblem(parameter, highlightInfoHolder, outModifierElement, CSharpModifier.OUT);
registerInOutProblem(parameter, highlightInfoHolder, inModifierElement, CSharpModifier.IN);
}
}
示例8: registerInOutProblem
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
private static void registerInOutProblem(DotNetGenericParameter parameter,
HighlightInfoHolder highlightInfoHolder,
PsiElement modifierElement,
CSharpModifier modifier)
{
CSharpModifier revertModifier = modifier == CSharpModifier.IN ? CSharpModifier.OUT : CSharpModifier.IN;
HighlightInfo.Builder builder = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR);
builder.descriptionAndTooltip(CSharpErrorBundle.message("conflicting.0.modifier.with.1.modifier", modifier.getPresentableText(),
revertModifier.getPresentableText()));
builder.range(modifierElement);
HighlightInfo info = builder.create();
if(info != null)
{
QuickFixAction.registerQuickFixAction(info, modifierElement.getTextRange(), new RemoveModifierFix(modifier, parameter));
highlightInfoHolder.add(info);
}
}
示例9: analyze
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
@Override
public boolean analyze(@Nonnull final PsiFile file,
final boolean updateWholeFile,
@Nonnull final HighlightInfoHolder holder,
@Nonnull final Runnable action) {
myHolder = holder;
myAnnotationHolder = new AnnotationHolderImpl(holder.getAnnotationSession(), myBatchMode);
try {
action.run();
}
finally {
myAnnotationHolder.clear();
myAnnotationHolder = null;
myHolder = null;
}
return true;
}
示例10: analyze
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
@Override
public final boolean analyze(@Nonnull PsiFile file,
boolean updateWholeFile,
@Nonnull HighlightInfoHolder holder,
@Nonnull Runnable action) {
myHolder = holder;
myRainbowHighlighter = new RainbowHighlighter(myHolder.getColorsScheme());
try {
action.run();
}
finally {
myHolder = null;
myRainbowHighlighter = null;
}
return true;
}
示例11: runHighlightVisitorsForInjected
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
private void runHighlightVisitorsForInjected(@Nonnull PsiFile injectedPsi, @Nonnull final HighlightInfoHolder holder, @Nonnull final ProgressIndicator progress) {
HighlightVisitor[] filtered = getHighlightVisitors(injectedPsi);
try {
final List<PsiElement> elements = CollectHighlightsUtil.getElementsInRange(injectedPsi, 0, injectedPsi.getTextLength());
for (final HighlightVisitor visitor : filtered) {
visitor.analyze(injectedPsi, true, holder, () -> {
for (PsiElement element : elements) {
ProgressManager.checkCanceled();
visitor.visit(element);
}
});
}
}
finally {
incVisitorUsageCount(-1);
}
}
示例12: readStep
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
private void readStep(final Random random) {
PsiClass aClass = getPsiClass();
switch (random.nextInt(4)) {
case 0:
mark("v");
aClass.getContainingFile().accept(new PsiRecursiveElementVisitor() {
});
break;
case 1:
mark("m");
for (int offset=0; offset<myFile.getTextLength();offset++) {
myFile.findElementAt(offset);
}
break;
case 2:
mark("h");
aClass.accept(new PsiRecursiveElementVisitor() {
@Override
public void visitElement(final PsiElement element) {
super.visitElement(element);
final HighlightInfoHolder infoHolder = new HighlightInfoHolder(myFile);
final HighlightVisitor visitor = new DefaultHighlightVisitor(getProject());
visitor.analyze(myFile, true, infoHolder, () -> visitor.visit(element));
}
});
break;
case 3:
mark("u");
for (PsiMethod method : aClass.getMethods()) {
method.getName();
}
break;
}
}
示例13: analyze
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
@Override
public boolean analyze(@NotNull PsiFile file, boolean updateWholeFile, @NotNull HighlightInfoHolder holder, @NotNull Runnable action)
{
myHolder = holder;
action.run();
return true;
}
示例14: analyze
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
@Override
public boolean analyze(@NotNull PsiFile psiFile, boolean b, @NotNull HighlightInfoHolder highlightInfoHolder, @NotNull Runnable runnable)
{
myPragmaContext = CSharpPragmaContext.get(psiFile);
myHighlightContext = new CSharpHighlightContext(psiFile);
myHighlightInfoHolder = highlightInfoHolder;
runnable.run();
myHighlightContext = null;
return true;
}
示例15: highlightNamed
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; //导入依赖的package包/类
@Nullable
@RequiredReadAction
public static HighlightInfo highlightNamed(@NotNull HighlightInfoHolder holder, @Nullable PsiElement element, @Nullable PsiElement target, @Nullable PsiElement owner)
{
if(target == null || element == null)
{
return null;
}
IElementType elementType = target.getNode().getElementType();
if(CSharpTokenSets.KEYWORDS.contains(elementType)) // don't highlight keywords
{
return null;
}
if(isMethodRef(owner, element))
{
HighlightInfo highlightInfo = HighlightInfo.newHighlightInfo(HighlightInfoType.INFORMATION).range(target).textAttributes(CSharpHighlightKey.METHOD_REF).create();
holder.add(highlightInfo);
}
TextAttributesKey defaultTextAttributeKey = getDefaultTextAttributeKey(element, target);
if(defaultTextAttributeKey == null)
{
return null;
}
HighlightInfo info = HighlightInfo.newHighlightInfo(HighlightInfoType.INFORMATION).range(target).textAttributes(defaultTextAttributeKey).create();
holder.add(info);
if(!(target instanceof CSharpIdentifier) && DotNetAttributeUtil.hasAttribute(element, DotNetTypes.System.ObsoleteAttribute))
{
holder.add(HighlightInfo.newHighlightInfo(HighlightInfoType.INFORMATION).range(target).textAttributes(CodeInsightColors.DEPRECATED_ATTRIBUTES).create());
}
return info;
}