/*******************************************************************************
* Copyright (c) 2005, 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 Rational Software - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.internal.core.dom.parser.c;
import org.eclipse.cdt.core.dom.ast.c.ICASTDeclSpecifier;
import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
/**
* @author jcamelon
*/
public abstract class CASTBaseDeclSpecifier extends ASTNode implements ICASTDeclSpecifier {
protected int storageClass;
protected boolean isConst;
protected boolean isVolatile;
protected boolean isRestrict;
protected boolean isInline;
public boolean isRestrict() {
return isRestrict;
}
public int getStorageClass() {
return storageClass;
}
public boolean isConst() {
return isConst;
}
public boolean isVolatile() {
return isVolatile;
}
public boolean isInline() {
return isInline;
}
public void setStorageClass(int storageClass) {
assertNotFrozen();
this.storageClass = storageClass;
}
public void setConst(boolean value) {
assertNotFrozen();
this.isConst = value;
}
public void setVolatile(boolean value) {
assertNotFrozen();
this.isVolatile = value;
}
public void setRestrict(boolean value) {
assertNotFrozen();
this.isRestrict = value;
}
public void setInline(boolean value) {
assertNotFrozen();
this.isInline = value;
}
protected void copyBaseDeclSpec(CASTBaseDeclSpecifier copy) {
copy.storageClass = storageClass;
copy.isConst = isConst;
copy.isVolatile = isVolatile;
copy.isRestrict = isRestrict;
copy.isInline = isInline;
copy.setOffsetAndLength(this);
}
}