87 lines
2.3 KiB
Java
87 lines
2.3 KiB
Java
/*******************************************************************************
|
|
* Copyright (c) 2013 IBM Corporation.
|
|
* 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 com.ibm.wala.cast.tree.impl;
|
|
|
|
import com.ibm.wala.cast.tree.CAstSymbol;
|
|
import com.ibm.wala.cast.tree.CAstType;
|
|
|
|
public abstract class CAstSymbolImplBase implements CAstSymbol {
|
|
private final String _name;
|
|
private final boolean _isFinal;
|
|
private final boolean _isCaseInsensitive;
|
|
private final Object _defaultInitValue;
|
|
private final CAstType type;
|
|
|
|
public CAstSymbolImplBase(String name, CAstType type) {
|
|
this(name, type, false);
|
|
}
|
|
|
|
public CAstSymbolImplBase(String name, CAstType type, boolean isFinal) {
|
|
this(name, type, isFinal, false);
|
|
}
|
|
|
|
public CAstSymbolImplBase(String name, CAstType type, boolean isFinal, boolean isCaseSensitive) {
|
|
this(name, type, isFinal, isCaseSensitive, null);
|
|
}
|
|
|
|
public CAstSymbolImplBase(String name, CAstType type, Object defaultInitValue) {
|
|
this(name, type, false, defaultInitValue);
|
|
}
|
|
|
|
public CAstSymbolImplBase(String name, CAstType type, boolean isFinal, Object defaultInitValue) {
|
|
this(name, type, isFinal, false, defaultInitValue);
|
|
}
|
|
|
|
public CAstSymbolImplBase(String name, CAstType type, boolean isFinal, boolean isCaseSensitive, Object defaultInitValue) {
|
|
this._name= name;
|
|
this.type = type;
|
|
this._isFinal= isFinal;
|
|
this._isCaseInsensitive= isCaseSensitive;
|
|
this._defaultInitValue= defaultInitValue;
|
|
|
|
assert name != null;
|
|
assert type != null;
|
|
}
|
|
|
|
@Override
|
|
public CAstType type() {
|
|
return type;
|
|
}
|
|
|
|
@Override
|
|
public String name() {
|
|
return _name;
|
|
}
|
|
|
|
@Override
|
|
public boolean isFinal() {
|
|
return _isFinal;
|
|
}
|
|
|
|
@Override
|
|
public boolean isCaseInsensitive() {
|
|
return _isCaseInsensitive;
|
|
}
|
|
|
|
@Override
|
|
public Object defaultInitValue() {
|
|
return _defaultInitValue;
|
|
}
|
|
|
|
@Override
|
|
public abstract boolean isInternalName();
|
|
|
|
@Override
|
|
public String toString() {
|
|
return _name;
|
|
}
|
|
}
|