package org.xrepl.xscript.scoping;
import static com.google.common.collect.Iterators.emptyIterator;
import static com.google.common.collect.Iterators.filter;
import java.util.Iterator;
import java.util.List;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.xtext.common.types.JvmTypeReference;
import org.eclipse.xtext.util.Strings;
import org.eclipse.xtext.xbase.scoping.featurecalls.StaticMethodsFeatureForTypeProvider;
import org.xrepl.xscript.xscript.XImport;
import com.google.inject.internal.Lists;
public class StaticallyImportedFeaturesProvider extends StaticMethodsFeatureForTypeProvider {
// @Override
// protected Iterable<String> getVisibleTypesContainingStaticMethods(JvmTypeReference reference) {
// Iterator<XImport> imports = getImports();
// boolean extension = reference != null && reference.getType() != null;
// List<String> result = Lists.newArrayList();
// XImport imported;
// while(imports.hasNext()){
// imported = imports.next();
// if (imported.isStatic() ) {
// String typeName = imported.getImportedTypeName();
// if (!Strings.isEmpty(typeName))
// result.add(typeName);
// }
// }
// return result;
// }
protected Iterator<XImport> getImports() {
Resource resource = getContext();
if (resource.getResourceSet() == null)
return emptyIterator();
return filter(resource.getResourceSet().getAllContents(), XImport.class);
}
}