Java源码示例:org.eclipse.core.expressions.ExpressionConverter

示例1
public boolean matches(IJavaProject javaProject) {
	if (fStatus != null) {
		return fStatus.booleanValue();
	}

	IConfigurationElement[] children= fConfigurationElement.getChildren(ExpressionTagNames.ENABLEMENT);
	if (children.length == 1) {
		try {
			ExpressionConverter parser= ExpressionConverter.getDefault();
			Expression expression= parser.perform(children[0]);
			EvaluationContext evalContext= new EvaluationContext(null, javaProject);
			evalContext.addVariable("project", javaProject); //$NON-NLS-1$
			evalContext.addVariable("sourceLevel", javaProject.getOption(JavaCore.COMPILER_SOURCE, true)); //$NON-NLS-1$
			return expression.evaluate(evalContext) == EvaluationResult.TRUE;
		} catch (CoreException e) {
			JavaPlugin.log(e);
		}
		return false;
	}
	fStatus= Boolean.FALSE;
	return false;
}
 
示例2
/** Verify that a node is a valid expression. */
protected static Expression checkExpression(Element expression) {
  try {
    Expression converted = ExpressionConverter.getDefault().perform(expression);
    Assert.assertNotNull(converted);
    return converted;
  } catch (CoreException ex) {
    throw new AssertionError("failed to convert to core expression", ex);
  }
}
 
示例3
/**
 * @throws CoreException 
 * 
 */
private TextHoverDescriptor(IConfigurationElement configurationElement) throws CoreException {
	this.configurationElement = configurationElement;
	for (IConfigurationElement element : configurationElement.getChildren(TAG_CONTENT_TYPE)) {
		readElement(element);
	}
	IConfigurationElement[] elements = configurationElement.getChildren(ExpressionTagNames.ENABLEMENT);
	enablementExpression = (elements.length > 0) ? ExpressionConverter.getDefault().perform(elements[0]) : null;
}
 
示例4
CompletionProposalCategory(IConfigurationElement element, CompletionProposalComputerRegistry registry) throws CoreException {
	fElement= element;
	fRegistry= registry;
	IExtension parent= (IExtension) element.getParent();
	fId= parent.getUniqueIdentifier();
	checkNotNull(fId, "id"); //$NON-NLS-1$
	String name= parent.getLabel();
	if (name == null)
		fName= fId;
	else
		fName= name;
	
	IConfigurationElement[] children= fElement.getChildren(ExpressionTagNames.ENABLEMENT);
	if (children.length == 1) {
		ExpressionConverter parser= ExpressionConverter.getDefault();
		fEnablementExpression = parser.perform(children[0]);
	}
	else {
		fEnablementExpression = null;
	}
	
	String icon= element.getAttribute(ICON);
	ImageDescriptor img= null;
	if (icon != null) {
		Bundle bundle= getBundle();
		if (bundle != null) {
			Path path= new Path(icon);
			URL url= FileLocator.find(bundle, path, null);
			img= ImageDescriptor.createFromURL(url);
		}
	}
	fImage= img;

}
 
示例5
private boolean matches(ICompilationUnit cunit) {
	if (fRequiredSourceLevel != null) {
		String current= cunit.getJavaProject().getOption(JavaCore.COMPILER_SOURCE, true);
		if (JavaModelUtil.isVersionLessThan(current, fRequiredSourceLevel)) {
			return false;
		}
	}

	if (fStatus != null) {
		return fStatus.booleanValue();
	}

	IConfigurationElement[] children= fConfigurationElement.getChildren(ExpressionTagNames.ENABLEMENT);
	if (children.length == 1) {
		try {
			ExpressionConverter parser= ExpressionConverter.getDefault();
			Expression expression= parser.perform(children[0]);
			EvaluationContext evalContext= new EvaluationContext(null, cunit);
			evalContext.addVariable("compilationUnit", cunit); //$NON-NLS-1$
			IJavaProject javaProject= cunit.getJavaProject();
			String[] natures= javaProject.getProject().getDescription().getNatureIds();
			evalContext.addVariable("projectNatures", Arrays.asList(natures)); //$NON-NLS-1$
			evalContext.addVariable("sourceLevel", javaProject.getOption(JavaCore.COMPILER_SOURCE, true)); //$NON-NLS-1$
			return expression.evaluate(evalContext) == EvaluationResult.TRUE;
		} catch (CoreException e) {
			JavaPlugin.log(e);
		}
		return false;
	}
	fStatus= Boolean.FALSE;
	return false;
}
 
示例6
private void configureEnablement(IConfigurationElement[] enablementNodes) {
	if(enablementNodes == null || enablementNodes.length < 1 ) return;
	IConfigurationElement node = enablementNodes[0];
	try {
		 expression = ExpressionConverter.getDefault().perform(node);
		
	} catch (CoreException e) {
		HybridCore.log(IStatus.ERROR, "Error while reading the enablement", e);
	}
}
 
示例7
private void configureEnablement(IConfigurationElement[] enablementNodes) {
	if(enablementNodes == null || enablementNodes.length < 1 ) return;
	IConfigurationElement node = enablementNodes[0];
	try {
		 expression = ExpressionConverter.getDefault().perform(node);
		
	} catch (CoreException e) {
		HybridCore.log(IStatus.ERROR, "Error while reading the enablement", e);
	}
}