blob: e33c7e7c9557789ff236534da98b0f3ff4121e6c [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006, 2015 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings;
import org.eclipse.cdt.core.dom.ast.IASTExpression;
import org.eclipse.cdt.core.dom.ast.IType;
import org.eclipse.cdt.core.dom.ast.c.ICBasicType;
public class C99BasicType implements ICBasicType {
/* Type flags given in IBasicType */
private int type;
private boolean isLong;
private boolean isShort;
private boolean isSigned;
private boolean isUnsigned;
private boolean isComplex;
private boolean isImaginary;
private boolean isLongLong;
public C99BasicType() {
}
public C99BasicType(int type) {
this.type = type;
}
@Override
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
@Override
public boolean isLong() {
return isLong;
}
public void setLong(boolean isLong) {
this.isLong = isLong;
}
@Override
public boolean isShort() {
return isShort;
}
public void setShort(boolean isShort) {
this.isShort = isShort;
}
@Override
public boolean isSigned() {
return isSigned;
}
public void setSigned(boolean isSigned) {
this.isSigned = isSigned;
}
@Override
public boolean isUnsigned() {
return isUnsigned;
}
public void setUnsigned(boolean isUnsigned) {
this.isUnsigned = isUnsigned;
}
@Override
public boolean isComplex() {
return isComplex;
}
public void setComplex(boolean isComplex) {
this.isComplex = isComplex;
}
@Override
public boolean isImaginary() {
return isImaginary;
}
public void setImaginary(boolean isImaginary) {
this.isImaginary = isImaginary;
}
@Override
public boolean isLongLong() {
return isLongLong;
}
public void setLongLong(boolean isLongLong) {
this.isLongLong = isLongLong;
}
@Override
@Deprecated
public IASTExpression getValue() {
return null;
}
@Override
public boolean isSameType(IType t) {
if (t == this)
return true;
if (!(t instanceof C99BasicType))
return false;
C99BasicType bt = (C99BasicType) t;
return bt.type == this.type && bt.isLong == this.isLong && bt.isShort == this.isShort
&& bt.isSigned == this.isSigned && bt.isUnsigned == this.isUnsigned && bt.isComplex == this.isComplex
&& bt.isImaginary == this.isImaginary && bt.isLongLong == this.isLongLong;
}
@Override
public C99BasicType clone() {
try {
return (C99BasicType) super.clone();
} catch (CloneNotSupportedException e) {
assert false;
return null;
}
}
@Override
public Kind getKind() {
// TODO Auto-generated method stub
return null;
}
@Override
public int getModifiers() {
// TODO Auto-generated method stub
return 0;
}
}