Workaround for bug in Android Plugin: it generates LightFields for files starting from '.' (ex. .DS_Store file)

#KT-6625 Fixed
This commit is contained in:
Natalia Ukhorskaya
2015-06-03 16:15:12 +03:00
parent e38bc864d1
commit 7b63dd987c
2 changed files with 9 additions and 2 deletions
@@ -109,7 +109,14 @@ public class JavaClassImpl extends JavaClassifierImpl<PsiClass> implements JavaC
@Override @Override
@NotNull @NotNull
public Collection<JavaField> getFields() { public Collection<JavaField> getFields() {
return fields(getPsi().getFields()); // ex. Android plugin generates LightFields for resources started from '.' (.DS_Store file etc)
return fields(KotlinPackage.filter(getPsi().getFields(), new Function1<PsiField, Boolean>() {
@Override
public Boolean invoke(PsiField field) {
String name = field.getName();
return name != null && Name.isValidIdentifier(name);
}
}));
} }
@Override @Override
@@ -183,7 +183,7 @@ public class JavaElementCollectionFromPsiArrayUtil {
} }
@NotNull @NotNull
public static Collection<JavaField> fields(@NotNull PsiField[] fields) { public static Collection<JavaField> fields(@NotNull Iterable<PsiField> fields) {
return convert(fields, Factories.FIELDS); return convert(fields, Factories.FIELDS);
} }