/*******************************************************************************
* Copyright (c) 2005, 2011 Intel 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:
* Intel Corporation - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.managedbuilder.internal.macros;
import org.eclipse.cdt.managedbuilder.macros.IBuildMacroStatus;
import org.eclipse.cdt.utils.cdtvariables.IVariableContextInfo;
import org.eclipse.cdt.utils.cdtvariables.SupplierBasedCdtVariableStatus;
/**
* This class implements the IBuildMacroStatus interface
*
* @since 3.0
*/
public class BuildMacroStatus extends SupplierBasedCdtVariableStatus implements IBuildMacroStatus {
public BuildMacroStatus(int severity, int code, String message,
Throwable exception, String macroName, String expression,
String referencedName, IVariableContextInfo info) {
super(severity, code, message, exception, macroName, expression,
referencedName, info);
}
public BuildMacroStatus(int code, String macroName, String expression,
String referencedName, IVariableContextInfo info) {
super(code, macroName, expression, referencedName, info);
}
public BuildMacroStatus(int code, String message, Throwable exception,
String macroName, String expression, String referencedName,
IVariableContextInfo info) {
super(code, message, exception, macroName, expression, referencedName, info);
}
/* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.macros.IBuildMacroStatus#getContextType()
*/
@Override
public int getContextType() {
IMacroContextInfo info = getMacroContextInfo();
if(info != null){
return info.getContextType();
}
return 0;
}
private IMacroContextInfo getMacroContextInfo(){
IVariableContextInfo info = getVariableContextInfo();
if(info instanceof IMacroContextInfo)
return (IMacroContextInfo)info;
return null;
}
/* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.macros.IBuildMacroStatus#getContextData()
*/
@Override
public Object getContextData() {
IMacroContextInfo info = getMacroContextInfo();
if(info != null){
return info.getContextData();
}
return null;
}
@Override
public String getMacroName() {
return getVariableName();
}
}