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 abstract class AbstractGnuToolPrefixMacro implements IBuildMacro {
public static final String MACRO_NAME = IGnuToolFactory.GNU_TOOL_PREFIX_VARIABLE;
@Override @Override
public String getName() { public final String getName() {
return IGnuToolFactory.GNU_TOOL_PREFIX_VARIABLE; return MACRO_NAME;
} }
@Override @Override
public int getValueType() { public final int getValueType() {
return IBuildMacro.VALUE_TEXT; return IBuildMacro.VALUE_TEXT;
} }
@Override @Override
public int getMacroValueType() { public final int getMacroValueType() {
return getValueType(); return getValueType();
} }
@ -34,16 +36,16 @@ public abstract class AbstractGnuToolPrefixMacro implements IBuildMacro {
public abstract String getStringValue() throws BuildMacroException; public abstract String getStringValue() throws BuildMacroException;
@Override @Override
public String[] getStringListValue() throws BuildMacroException { public final String[] getStringListValue() throws BuildMacroException {
throw new 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 { protected String getStringValue(IOption option) throws BuildMacroException {
try { try {
return option.getStringValue(); return option.getStringValue();
} catch (BuildException e) { } 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.IBuildMacro;
import org.eclipse.cdt.managedbuilder.macros.IBuildMacroProvider; import org.eclipse.cdt.managedbuilder.macros.IBuildMacroProvider;
import org.eclipse.cdt.managedbuilder.macros.IConfigurationBuildMacroSupplier; import org.eclipse.cdt.managedbuilder.macros.IConfigurationBuildMacroSupplier;
import org.eclipse.cdt.utils.IGnuToolFactory;
import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.Status;
public class CrossBuildMacroSupplier implements IConfigurationBuildMacroSupplier { public class CrossBuildMacroSupplier implements IConfigurationBuildMacroSupplier {
@ -47,7 +46,7 @@ public class CrossBuildMacroSupplier implements IConfigurationBuildMacroSupplier
@Override @Override
public IBuildMacro getMacro(String macroName, IConfiguration configuration, IBuildMacroProvider provider) { 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 new GnuToolPrefixMacro(configuration);
} }
return null; return null;
@ -55,7 +54,7 @@ public class CrossBuildMacroSupplier implements IConfigurationBuildMacroSupplier
@Override @Override
public IBuildMacro[] getMacros(IConfiguration configuration, IBuildMacroProvider provider) { 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 }; return (null == macro) ? new IBuildMacro[0] : new IBuildMacro[] { macro };
} }