diff options
author | Stephan Herrmann | 2010-04-01 19:56:59 +0000 |
---|---|---|
committer | Stephan Herrmann | 2010-04-01 19:56:59 +0000 |
commit | 7b7062f3b12bba7ef33116efb94da1f54e069625 (patch) | |
tree | 953104b5ab329138aac4d340fb014e321cd658a2 /org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BooleanLiteral.java | |
parent | b41f944c832b588bb998e321bf7fd9a4e1c62c08 (diff) | |
download | org.eclipse.objectteams-7b7062f3b12bba7ef33116efb94da1f54e069625.tar.gz org.eclipse.objectteams-7b7062f3b12bba7ef33116efb94da1f54e069625.tar.xz org.eclipse.objectteams-7b7062f3b12bba7ef33116efb94da1f54e069625.zip |
initial commit in accordance with CQ 3784
Diffstat (limited to 'org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BooleanLiteral.java')
-rw-r--r-- | org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BooleanLiteral.java | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BooleanLiteral.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BooleanLiteral.java new file mode 100644 index 000000000..f9da563a9 --- /dev/null +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BooleanLiteral.java @@ -0,0 +1,178 @@ +/******************************************************************************* + * Copyright (c) 2000, 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +package org.eclipse.jdt.core.dom; + +import java.util.ArrayList; +import java.util.List; + +/** + * Boolean literal node. + * + * <pre> + * BooleanLiteral: + * <b>true</b> + * <b>false</b> + * </pre> + * + * @since 2.0 + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public class BooleanLiteral extends Expression { + + /** + * The "booleanValue" structural property of this node type. + * @since 3.0 + */ + public static final SimplePropertyDescriptor BOOLEAN_VALUE_PROPERTY = + new SimplePropertyDescriptor(BooleanLiteral.class, "booleanValue", boolean.class, MANDATORY); //$NON-NLS-1$ + + /** + * A list of property descriptors (element type: + * {@link StructuralPropertyDescriptor}), + * or null if uninitialized. + */ + private static final List PROPERTY_DESCRIPTORS; + + static { + List properyList = new ArrayList(2); + createPropertyList(BooleanLiteral.class, properyList); + addProperty(BOOLEAN_VALUE_PROPERTY, properyList); + PROPERTY_DESCRIPTORS = reapPropertyList(properyList); + } + + /** + * Returns a list of structural property descriptors for this node type. + * Clients must not modify the result. + * + * @param apiLevel the API level; one of the + * <code>AST.JLS*</code> constants + + * @return a list of property descriptors (element type: + * {@link StructuralPropertyDescriptor}) + * @since 3.0 + */ + public static List propertyDescriptors(int apiLevel) { + return PROPERTY_DESCRIPTORS; + } + + /** + * The boolean; defaults to the literal for <code>false</code>. + */ + private boolean value = false; + + /** + * Creates a new unparented boolean literal node owned by the given AST. + * <p> + * N.B. This constructor is package-private. + * </p> + * + * @param ast the AST that is to own this node + */ + BooleanLiteral(AST ast) { + super(ast); + } + + /* (omit javadoc for this method) + * Method declared on ASTNode. + */ + final List internalStructuralPropertiesForType(int apiLevel) { + return propertyDescriptors(apiLevel); + } + + /* (omit javadoc for this method) + * Method declared on ASTNode. + */ + final boolean internalGetSetBooleanProperty(SimplePropertyDescriptor property, boolean get, boolean newValue) { + if (property == BOOLEAN_VALUE_PROPERTY) { + if (get) { + return booleanValue(); + } else { + setBooleanValue(newValue); + return false; + } + } + // allow default implementation to flag the error + return super.internalGetSetBooleanProperty(property, get, newValue); + } + + /* (omit javadoc for this method) + * Method declared on ASTNode. + */ + final int getNodeType0() { + return BOOLEAN_LITERAL; + } + + /* (omit javadoc for this method) + * Method declared on ASTNode. + */ + ASTNode clone0(AST target) { + BooleanLiteral result = new BooleanLiteral(target); + result.setSourceRange(getStartPosition(), getLength()); + result.setBooleanValue(booleanValue()); + return result; + } + + /* (omit javadoc for this method) + * Method declared on ASTNode. + */ + final boolean subtreeMatch0(ASTMatcher matcher, Object other) { + // dispatch to correct overloaded match method + return matcher.match(this, other); + } + + /* (omit javadoc for this method) + * Method declared on ASTNode. + */ + void accept0(ASTVisitor visitor) { + visitor.visit(this); + visitor.endVisit(this); + } + + /** + * Returns the boolean value of this boolean literal node. + * + * @return <code>true</code> for the boolean literal spelled + * <code>"true"</code>, and <code>false</code> for the boolean literal + * spelled <code>"false"</code>. + */ + public boolean booleanValue() { + return this.value; + } + + /** + * Sets the boolean value of this boolean literal node. + * + * @param value <code>true</code> for the boolean literal spelled + * <code>"true"</code>, and <code>false</code> for the boolean literal + * spelled <code>"false"</code>. + */ + public void setBooleanValue(boolean value) { + preValueChange(BOOLEAN_VALUE_PROPERTY); + this.value = value; + postValueChange(BOOLEAN_VALUE_PROPERTY); + } + + /* (omit javadoc for this method) + * Method declared on ASTNode. + */ + int memSize() { + return BASE_NODE_SIZE + 1 * 4; + } + + /* (omit javadoc for this method) + * Method declared on ASTNode. + */ + int treeSize() { + return memSize(); + } +} + |