mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
logging for IDEA-88322
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package org.jetbrains.android.augment;
|
||||
|
||||
import com.android.resources.ResourceType;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.project.DumbService;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiElement;
|
||||
@@ -21,25 +22,41 @@ import java.util.*;
|
||||
* @author Eugene.Kudelevsky
|
||||
*/
|
||||
public class AndroidPsiAugmentProvider extends PsiAugmentProvider {
|
||||
private static final Logger LOG = Logger.getInstance("#org.jetbrains.android.augment.AndroidPsiAugmentProvider");
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@NotNull
|
||||
@Override
|
||||
public <Psi extends PsiElement> List<Psi> getAugments(@NotNull PsiElement element, @NotNull Class<Psi> type) {
|
||||
if ((type != PsiClass.class && type != PsiField.class) ||
|
||||
!(element instanceof PsiExtensibleClass) ||
|
||||
DumbService.isDumb(element.getProject())) {
|
||||
!(element instanceof PsiExtensibleClass)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
final PsiExtensibleClass aClass = (PsiExtensibleClass)element;
|
||||
final String className = aClass.getName();
|
||||
final boolean rClassAugment = AndroidUtils.R_CLASS_NAME.equals(className)
|
||||
&& type == PsiClass.class;
|
||||
|
||||
if (DumbService.isDumb(element.getProject())) {
|
||||
if (rClassAugment) {
|
||||
LOG.info("R_CLASS_AUGMENT: empty because of dumb mode");
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
final AndroidFacet facet = AndroidFacet.getInstance(element);
|
||||
if (facet == null) {
|
||||
if (rClassAugment) {
|
||||
LOG.info("R_CLASS_AUGMENT: empty because no facet");
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
final PsiFile containingFile = element.getContainingFile();
|
||||
if (containingFile == null) {
|
||||
if (rClassAugment) {
|
||||
LOG.info("R_CLASS_AUGMENT: empty because of no containing file");
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@@ -56,6 +73,9 @@ public class AndroidPsiAugmentProvider extends PsiAugmentProvider {
|
||||
result.add((Psi)resClass);
|
||||
}
|
||||
}
|
||||
if (rClassAugment) {
|
||||
LOG.info("R_CLASS_AUGMENT: " + result.size() + " classes added");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
else if (AndroidUtils.MANIFEST_CLASS_NAME.equals(className) &&
|
||||
@@ -63,6 +83,10 @@ public class AndroidPsiAugmentProvider extends PsiAugmentProvider {
|
||||
return Arrays.asList((Psi)new PermissionClass(facet, aClass),
|
||||
(Psi)new PermissionGroupClass(facet, aClass));
|
||||
}
|
||||
|
||||
if (rClassAugment) {
|
||||
LOG.info("R_CLASS_AUGMENT: empty because containing file is not actual R.java file");
|
||||
}
|
||||
}
|
||||
else if (type == PsiField.class && !(aClass instanceof AndroidLightClass)) {
|
||||
// extend existing inner classes, not provided by this augment (ex. they can be generated by maven)
|
||||
|
||||
Reference in New Issue
Block a user