diff --git a/plugins/org.etsi.mts.tdl.tx.ui/src/org/etsi/mts/tdl/ui/contentassist/TDLtxProposalProvider.java b/plugins/org.etsi.mts.tdl.tx.ui/src/org/etsi/mts/tdl/ui/contentassist/TDLtxProposalProvider.java index fc8ad5274f70197676ed9490d0a25547f82806f0..3972796121c318424ed5d2a412bc036f3c812bd0 100644 --- a/plugins/org.etsi.mts.tdl.tx.ui/src/org/etsi/mts/tdl/ui/contentassist/TDLtxProposalProvider.java +++ b/plugins/org.etsi.mts.tdl.tx.ui/src/org/etsi/mts/tdl/ui/contentassist/TDLtxProposalProvider.java @@ -383,12 +383,13 @@ public class TDLtxProposalProvider extends AbstractTDLtxProposalProvider { if (ne instanceof SimpleDataType) { } else { - String prefix = "new "; - String suffix = "()"; + String prefix = ""; + String suffix = "( )"; if (ne instanceof CollectionDataType) { - suffix = "[]"; + suffix = "[ ]"; } - acceptor.accept(createCompletionProposal(prefix+ne.getName()+suffix, new StyledString(prefix+ne.getName()+suffix).append(" : new instance of type", StyledString.DECORATIONS_STYLER), getImage(ne), 1000, "", context)); + acceptor.accept(createCompletionProposal(suffix, new StyledString(suffix).append(" : new anonymous instance of type "+ne.getName(), StyledString.DECORATIONS_STYLER), getImage(ne), 1200, "", context)); + acceptor.accept(createCompletionProposal(prefix+ne.getName()+suffix, new StyledString(prefix+ne.getName()+suffix).append(" : new instance of type", StyledString.DECORATIONS_STYLER), getImage(ne), 1100, "", context)); } } else if (ne instanceof Function && ((Function) ne).getReturnType().conformsTo(type)) { accept = true; @@ -534,6 +535,13 @@ public class TDLtxProposalProvider extends AbstractTDLtxProposalProvider { .map(ParameterBinding::getParameter) .toList(); + if (dataElement == null) { + dataElement = ((DataElementUse) model).resolveDataType(); + //TODO: filter parentheses + prefix = prefix.replace("(", ""); + suffix = suffix.replace(")", ""); + } + //TODO: a bit of a hack.. this belongs elsewhere -> affects the whole chain, should be applied selectively // System.out.println(model); // System.out.println(context.getPreviousModel()); @@ -598,6 +606,9 @@ public class TDLtxProposalProvider extends AbstractTDLtxProposalProvider { ICompletionProposalAcceptor acceptor) { if (model instanceof DataElementUse) { NamedElement dataElement = ((DataElementUse) model).getDataElement(); + if (dataElement == null) { + dataElement = ((DataElementUse) model).resolveDataType(); + } if (dataElement instanceof CollectionDataType) { DataType itemType = ((CollectionDataType) dataElement).getItemType(); completeAssignment(model, context, acceptor, itemType);