📄 ifndefdirective.java
字号:
/**
* Copyright (c) 2003-2005 Craig Setera
* All Rights Reserved.
* Licensed under the Eclipse Public License - v 1.0
* For more information see http://www.eclipse.org/legal/epl-v10.html
*/
package eclipseme.core.internal.preprocessor.directive;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jdt.core.dom.Comment;
import eclipseme.core.internal.preprocessor.Directive;
import eclipseme.core.model.SymbolDefinitionSet;
/**
* Defines an identifier, thus making its value "true" when it
* is referenced in further expressions.
* <p />
* Copyright (c) 2003-2005 Craig Setera<br>
* All Rights Reserved.<br>
* Licensed under the Eclipse Public License - v 1.0<p/>
* <br>
* $Revision: 1.5 $
* <br>
* $Date: 2006/12/18 02:13:47 $
* <br>
* @author Craig Setera
*/
public class IfndefDirective extends AbstractIfDirective {
/**
* Construct a new instance.
*
* @param resource
* @param comment
* @param commentText
*/
public IfndefDirective(
IResource resource,
Comment comment,
String commentText)
{
super(resource, comment, commentText);
}
/**
* @see eclipseme.core.internal.preprocessor.Directive#getType()
*/
public int getType() {
return TYPE_IFNDEF;
}
/**
* @see eclipseme.core.internal.preprocessor.Directive#isEnabled(eclipseme.core.model.SymbolDefinitionSet, IProgressMonitor)
*/
public boolean isEnabled(SymbolDefinitionSet identifiers, IProgressMonitor monitor) {
return !isEnabledByIdentifier(identifiers, monitor);
}
/**
* @see eclipseme.core.internal.preprocessor.directive.AbstractIfDirective#isValid()
*/
protected boolean isValid() throws CoreException {
return validateChildren();
}
/**
* @see eclipseme.core.internal.preprocessor.directive.AbstractIfDirective#validateChild(eclipseme.core.internal.preprocessor.Directive)
*/
protected boolean validateChild(Directive directive) throws CoreException {
boolean valid =
(directive.getType() == Directive.TYPE_ELIFDEF) ||
(directive.getType() == Directive.TYPE_ELIFNDEF) ||
(directive.getType() == Directive.TYPE_ENDIF);
if (!valid) {
createProblemMarker(IMarker.SEVERITY_ERROR, "#elifdef and #elifndef cannot be associated with #if");
}
return valid;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -