List childs = null;
if (parent != null) {
String parentParent = ivyfile.getParentTagName(ivyfile.getStringIndexBackward("<"
+ parent));
IvyTag root = _model.getIvyTag(parent, parentParent);
if (root == null) {
errorMessage = "parent tag :" + parent + " not found in model:";
return;
} else {
childs = root.getChilds();
}
} else {
childs = Collections.singletonList(_model.getRootIvyTag());
}
errorMessage = null;
for (Iterator iter = childs.iterator(); iter.hasNext();) {
IvyTag child = (IvyTag) iter.next();
// Check if proposal matches qualifier
if (child.getStartTag().startsWith(qualifier)) {
Proposal[] props = child.getProposals();
for (int i = 0; i < props.length; i++) {
// Construct proposal and add to result list
propList.add(new CompletionProposal(props[i].getProposal(), ivyfile
.getOffset()
- qlen, qlen + selectedRange.y, props[i].getCursor(), null, null,