public abstract class CxxToolFlags extends Object implements AddsToRuleKey
Flags derived from the "platform" are differentiated from flags derived from the "rule" to allow for rule flags to override platform flags. This is particularly important when the platform and rule flags from different sources are merged together.
Users should use the API in this class instead of the concrete implementations.
Constructor and Description |
---|
CxxToolFlags() |
Modifier and Type | Method and Description |
---|---|
static CxxToolFlags |
concat(CxxToolFlags... parts)
Concatenate multiple flags in a pairwise manner.
|
static CxxToolFlags |
copyOf(Iterable<Arg> platformFlags,
Iterable<Arg> ruleFlags)
Directly construct an instance from the given members.
|
static ExplicitCxxToolFlags.Builder |
explicitBuilder()
Returns a builder for explicitly specifying the flags.
|
Iterable<Arg> |
getAllFlags()
Returns all flags in the appropriate order.
|
abstract com.google.common.collect.ImmutableList<Arg> |
getPlatformFlags()
Flags that precede flags from
#getRuleFlags() . |
abstract com.google.common.collect.ImmutableList<Arg> |
getRuleFlags()
Flags that succeed flags from
#getPlatformFlags() . |
static CxxToolFlags |
of()
Returns the empty lists of flags.
|
public abstract com.google.common.collect.ImmutableList<Arg> getPlatformFlags()
#getRuleFlags()
.public abstract com.google.common.collect.ImmutableList<Arg> getRuleFlags()
#getPlatformFlags()
.public static ExplicitCxxToolFlags.Builder explicitBuilder()
public static CxxToolFlags of()
public static CxxToolFlags copyOf(Iterable<Arg> platformFlags, Iterable<Arg> ruleFlags)
public static CxxToolFlags concat(CxxToolFlags... parts)