/**
* Gets all available grammars.
* <p>
* The result contains no null entries.
* </p>
*
* @return an iterator over all grammars in the workspace followed by all those in the registry.
*/
private Iterable<Grammar> allGrammars() {
final ResourceSet resourceSetForResolve = new ResourceSetImpl();
final Function<IEObjectDescription, Grammar> description2GrammarTransform = new Function<IEObjectDescription, Grammar>() {
@Override
public Grammar apply(final IEObjectDescription desc) {
EObject obj = desc.getEObjectOrProxy();
if (obj != null && obj.eIsProxy()) {
obj = EcoreUtil.resolve(obj, resourceSetForResolve);
}
if (obj instanceof Grammar && !obj.eIsProxy()) {
return (Grammar) obj;
} else {
return null;
}
}
};
final Iterable<IEObjectDescription> grammarDescriptorsFromIndex = Access.getIResourceDescriptions().get().getExportedObjectsByType(XtextPackage.Literals.GRAMMAR);
return Iterables.concat(Iterables.filter(Iterables.transform(grammarDescriptorsFromIndex, description2GrammarTransform), Predicates.notNull()), allGrammarsFromRegistry());
}
CheckResourceUtil.java 文件源码
java
阅读 17
收藏 0
点赞 0
评论 0
项目:dsl-devkit
作者:
评论列表
文章目录