Package daikon.derive.binary
Class SequencesConcat
- Object
-
- Derivation
-
- BinaryDerivation
-
- SequencesConcat
-
- All Implemented Interfaces:
Serializable
,Cloneable
public final class SequencesConcat extends BinaryDerivation
Represents the concatenation of two base variables. This derived variable works for both sequences of numbers and strings.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static Logger
debug
Debug tracer.static boolean
dkconfig_enabled
Boolean.-
Fields inherited from class BinaryDerivation
base1, base2
-
Fields inherited from class Derivation
dkconfig_disable_derived_variables, missing_array_bounds
-
-
Constructor Summary
Constructors Constructor Description SequencesConcat(VarInfo vi1, VarInfo vi2)
Create a new SequenceScarlarConcat that represents the concatenation of two base variables.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ValueAndModified
computeValueAndModifiedImpl(ValueTuple full_vt)
Actual implementation once mods are handled.String
esc_name(String index)
Returns the ESC name for sequence subsequence.boolean
isSameFormula(Derivation other)
Returns true iff other and this represent the same derivation (modulo the variable they are applied to).protected VarInfo
makeVarInfo()
Used by all child classes to actually create the VarInfo this represents, after which it is interned for getVarInfo().String
toString()
VarInfo
var1()
VarInfo
var2()
-
Methods inherited from class BinaryDerivation
canBeMissing, clone, computeValueAndModified, derivedDepth, getBase, getBases, isDerivedFromNonCanonical, isParam, switchVars
-
Methods inherited from class Derivation
complexity, csharp_name, get_array_var, get_lower_bound, get_upper_bound, getVarInfo, inside_csharp_name, inside_esc_name, inside_jml_name, is_prestate_version, jml_name, makeVarInfo_common_setup, missingOutOfBounds, shift_str, simplify_name
-
-
-
-
Field Detail
-
dkconfig_enabled
public static boolean dkconfig_enabled
Boolean. True iff SequencesConcat derived variables should be created.
-
-
Constructor Detail
-
SequencesConcat
public SequencesConcat(VarInfo vi1, VarInfo vi2)
Create a new SequenceScarlarConcat that represents the concatenation of two base variables.- Parameters:
vi1
- base variable 1vi2
- base variable 2
-
-
Method Detail
-
var1
public VarInfo var1(@GuardSatisfied SequencesConcat this)
- Overrides:
var1
in classBinaryDerivation
-
var2
public VarInfo var2(@GuardSatisfied SequencesConcat this)
- Overrides:
var2
in classBinaryDerivation
-
computeValueAndModifiedImpl
public ValueAndModified computeValueAndModifiedImpl(ValueTuple full_vt)
Description copied from class:BinaryDerivation
Actual implementation once mods are handled.- Specified by:
computeValueAndModifiedImpl
in classBinaryDerivation
-
makeVarInfo
protected VarInfo makeVarInfo()
Description copied from class:Derivation
Used by all child classes to actually create the VarInfo this represents, after which it is interned for getVarInfo().- Specified by:
makeVarInfo
in classDerivation
-
isSameFormula
@Pure public boolean isSameFormula(Derivation other)
Description copied from class:Derivation
Returns true iff other and this represent the same derivation (modulo the variable they are applied to). Default implentation will just checks run-time type, but subclasses with state (e.g. SequenceInitial index) should match that, too.- Specified by:
isSameFormula
in classDerivation
- Parameters:
other
- the Derivation to compare to- Returns:
- true iff other and this represent the same derivation
-
esc_name
@SideEffectFree public String esc_name(String index)
Returns the ESC name for sequence subsequence.- Overrides:
esc_name
in classDerivation
-
-