Java源码示例:org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper

示例1
protected boolean isValidProposal(String proposal, ContentAssistContext context,
		IProposalConflictHelper conflictHelper) {
	if (proposal == null)
		return false;
	if (!context.getMatcher().isCandidateMatchingPrefix(proposal, context.getPrefix()))
		return false;
	if (conflictHelper.existsConflict(proposal, context))
		return false;
	return true;
}
 
示例2
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例3
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例4
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例5
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例6
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例7
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例8
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例9
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例10
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例11
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例12
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例13
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例14
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例15
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例16
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例17
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例18
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例19
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例20
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例21
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例22
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例23
protected ICompletionProposal createOverrideMethodProposal(XtendTypeDeclaration model, IResolvedExecutable overrideable,
		final ContentAssistContext context, IProposalConflictHelper conflictHelper) {
	IXtextDocument document = context.getDocument();
	XtextResource resource = (XtextResource) model.eResource();
	int offset = context.getReplaceRegion().getOffset();
	int currentIndentation = appendableFactory.getIndentationLevelAtOffset(offset, document, resource);
	final int indentationLevel = currentIndentation == 0 ? 1 : currentIndentation;
	ReplacingAppendable appendable = appendableFactory.create(document, resource, offset, context.getReplaceRegion().getLength(), new OptionalParameters() {{ 
				ensureEmptyLinesAround = true;
				baseIndentationLevel = indentationLevel;	
			}});
	final String simpleName;
	JvmExecutable declaration = overrideable.getDeclaration();
	if (overrideable instanceof IResolvedOperation) {
		implementor.appendOverrideFunction(model, (IResolvedOperation) overrideable, appendable);
		simpleName = overrideable.getDeclaration().getSimpleName();
	} else if (model instanceof XtendClass) {
		implementor.appendConstructorFromSuper((XtendClass) model, (IResolvedConstructor) overrideable, appendable);
		simpleName = "new";
	} else {
		return null;
	}
	String code = appendable.getCode();
	if (!isValidProposal(code.trim(), context, conflictHelper) && !isValidProposal(simpleName, context, conflictHelper))
		return null;
	ImageDescriptor imageDescriptor = images.forOperation(declaration.getVisibility(), adornments.getOverrideAdornment(declaration));
	ImportOrganizingProposal completionProposal = createCompletionProposal(appendable, context.getReplaceRegion(),
			getLabel(overrideable), imageHelper.getImage(imageDescriptor));
	Matcher matcher = bodyExpressionPattern.matcher(code);
	if (matcher.find()) {
		int bodyExpressionLength = matcher.end(1) - matcher.start(1);
		int bodyExpressionStart = matcher.start(1) + appendable.getTotalOffset() - completionProposal.getReplacementOffset();
		if (bodyExpressionLength == 0) {
			completionProposal.setCursorPosition(bodyExpressionStart);
		} else {
			completionProposal.setSelectionStart(completionProposal.getReplacementOffset() + bodyExpressionStart);
			completionProposal.setSelectionLength(bodyExpressionLength);
			completionProposal.setAutoInsertable(false);
			completionProposal.setCursorPosition(bodyExpressionStart + bodyExpressionLength);
			completionProposal.setSimpleLinkedMode(context.getViewer(), '\t');
		}
	}
	completionProposal.setPriority(getPriority(model, declaration, context));
	completionProposal.setMatcher(new PrefixMatcher() {

		@Override
		public boolean isCandidateMatchingPrefix(String name, String prefix) {
			PrefixMatcher delegate = context.getMatcher();
			boolean result = delegate.isCandidateMatchingPrefix(simpleName, prefix);
			return result;
		}
		
	});
	return completionProposal;
}
 
示例24
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例25
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例26
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例27
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例28
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例29
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}
 
示例30
public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
	return AntlrProposalConflictHelper.class;
}