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);
}
}