1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-06 09:16:02 +02:00

Improve encapsulation within AbstractGnuToolPrefixMacro

Part of #361
This commit is contained in:
John Dallaway 2023-04-19 08:53:29 +01:00
parent 74d04781ba
commit 82a235fbb9
2 changed files with 11 additions and 10 deletions

View file

@ -15,18 +15,20 @@ import org.eclipse.core.runtime.Status;
*/
public abstract class AbstractGnuToolPrefixMacro implements IBuildMacro {
public static final String MACRO_NAME = IGnuToolFactory.GNU_TOOL_PREFIX_VARIABLE;
@Override
public String getName() {
return IGnuToolFactory.GNU_TOOL_PREFIX_VARIABLE;
public final String getName() {
return MACRO_NAME;
}
@Override
public int getValueType() {
public final int getValueType() {
return IBuildMacro.VALUE_TEXT;
}
@Override
public int getMacroValueType() {
public final int getMacroValueType() {
return getValueType();
}
@ -34,16 +36,16 @@ public abstract class AbstractGnuToolPrefixMacro implements IBuildMacro {
public abstract String getStringValue() throws BuildMacroException;
@Override
public String[] getStringListValue() throws BuildMacroException {
public final String[] getStringListValue() throws BuildMacroException {
throw new BuildMacroException(
new CdtVariableException(ICdtVariableStatus.TYPE_MACRO_NOT_STRINGLIST, getName(), null, getName()));
new CdtVariableException(ICdtVariableStatus.TYPE_MACRO_NOT_STRINGLIST, MACRO_NAME, null, MACRO_NAME));
}
protected String getStringValue(IOption option) throws BuildMacroException {
try {
return option.getStringValue();
} catch (BuildException e) {
throw new BuildMacroException(Status.error("Error getting macro value: " + getName(), e)); //$NON-NLS-1$
throw new BuildMacroException(Status.error("Error getting macro value: " + MACRO_NAME, e)); //$NON-NLS-1$
}
}

View file

@ -20,7 +20,6 @@ import org.eclipse.cdt.managedbuilder.macros.BuildMacroException;
import org.eclipse.cdt.managedbuilder.macros.IBuildMacro;
import org.eclipse.cdt.managedbuilder.macros.IBuildMacroProvider;
import org.eclipse.cdt.managedbuilder.macros.IConfigurationBuildMacroSupplier;
import org.eclipse.cdt.utils.IGnuToolFactory;
import org.eclipse.core.runtime.Status;
public class CrossBuildMacroSupplier implements IConfigurationBuildMacroSupplier {
@ -47,7 +46,7 @@ public class CrossBuildMacroSupplier implements IConfigurationBuildMacroSupplier
@Override
public IBuildMacro getMacro(String macroName, IConfiguration configuration, IBuildMacroProvider provider) {
if (IGnuToolFactory.GNU_TOOL_PREFIX_VARIABLE.equals(macroName)) {
if (GnuToolPrefixMacro.MACRO_NAME.equals(macroName)) {
return new GnuToolPrefixMacro(configuration);
}
return null;
@ -55,7 +54,7 @@ public class CrossBuildMacroSupplier implements IConfigurationBuildMacroSupplier
@Override
public IBuildMacro[] getMacros(IConfiguration configuration, IBuildMacroProvider provider) {
final IBuildMacro macro = getMacro(IGnuToolFactory.GNU_TOOL_PREFIX_VARIABLE, configuration, provider);
final IBuildMacro macro = getMacro(GnuToolPrefixMacro.MACRO_NAME, configuration, provider);
return (null == macro) ? new IBuildMacro[0] : new IBuildMacro[] { macro };
}