Package daikon.split
Class SplitterExample
-
- All Implemented Interfaces:
Serializable
public final class SplitterExample extends Splitter
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class Splitter
instantiated
-
-
Constructor Summary
Constructors Constructor Description SplitterExample()
SplitterExample(Ppt ppt)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
condition()
Returns the condition being tested, as a String.@Nullable DummyInvariant
getDummyInvariant()
On an instantiated Splitter, give back an appropriate instantiated DummyInvariant.void
instantiateDummy(PptTopLevel ppt)
Make an instance DummyInvariant for this instance of the splitter, if possible on an appropriate slice from ppt.Splitter
instantiateSplitter(Ppt ppt)
Creates a valid splitter than can be used for testing the condition via test(ValueTuple).void
makeDummyInvariantFactory(DummyInvariant inv)
Set up the static ('factory') DummyInvariant for this kind of splitter.boolean
test(ValueTuple vt)
Returns true or false according to whether the values in the specified ValueTuple satisfy the condition represented by this Splitter.boolean
valid()
Returns true or false according to whether this was instantiated correctly and test(ValueTuple) can be called without error.-
Methods inherited from class Splitter
instantiated
-
-
-
-
Constructor Detail
-
SplitterExample
public SplitterExample()
-
SplitterExample
public SplitterExample(Ppt ppt)
-
-
Method Detail
-
instantiateSplitter
public Splitter instantiateSplitter(Ppt ppt)
Description copied from class:Splitter
Creates a valid splitter than can be used for testing the condition via test(ValueTuple). The implementation should always set the "instantiated" protected field to true, if that field is present in the Splitter class.- Specified by:
instantiateSplitter
in classSplitter
-
valid
@EnsuresNonNullIf(result=true, expression="x_varinfo") public boolean valid()
Description copied from class:Splitter
Returns true or false according to whether this was instantiated correctly and test(ValueTuple) can be called without error. An alternate design would haveSplitter.instantiateSplitter(Ppt)
check this, but it's a bit easier on implementers of subclasses of Splitter for the work to be done (in just one place) by the caller.
-
test
@RequiresNonNull("x_varinfo") public boolean test(ValueTuple vt)
Description copied from class:Splitter
Returns true or false according to whether the values in the specified ValueTuple satisfy the condition represented by this Splitter. Requires that valid() returns true.
-
condition
public String condition()
Description copied from class:Splitter
Returns the condition being tested, as a String.
-
makeDummyInvariantFactory
@EnsuresNonNull("dummyInvFactory") public void makeDummyInvariantFactory(DummyInvariant inv)
Description copied from class:Splitter
Set up the static ('factory') DummyInvariant for this kind of splitter. This only modifies static data, but it can't be static because subclasses must override it.- Overrides:
makeDummyInvariantFactory
in classSplitter
-
instantiateDummy
@RequiresNonNull("dummyInvFactory") public void instantiateDummy(PptTopLevel ppt)
Description copied from class:Splitter
Make an instance DummyInvariant for this instance of the splitter, if possible on an appropriate slice from ppt.- Overrides:
instantiateDummy
in classSplitter
-
getDummyInvariant
public @Nullable DummyInvariant getDummyInvariant()
Description copied from class:Splitter
On an instantiated Splitter, give back an appropriate instantiated DummyInvariant.- Specified by:
getDummyInvariant
in classSplitter
-
-