public final class Template
extends java.lang.Object
Template
class builds the internal representation of a test template
and passes it for further processing.Modifier and Type | Class and Description |
---|---|
class |
Template.BlockHolder |
static interface |
Template.Processor |
static class |
Template.SectionKind |
Constructor and Description |
---|
Template(EngineContext context,
Template.Processor processor) |
Modifier and Type | Method and Description |
---|---|
void |
addAllocatorAction(Primitive primitive,
java.lang.String kind,
boolean value,
boolean applyToAll) |
void |
addLabel(java.lang.String name,
boolean global) |
void |
addNumericLabel(int index) |
void |
addOutput(Output output) |
void |
addPreparatorCall(Primitive targetMode,
java.math.BigInteger value,
java.lang.String preparatorName,
java.lang.String variantName) |
void |
addPreparatorCall(Primitive targetMode,
Value value,
java.lang.String preparatorName,
java.lang.String variantName) |
void |
addStream(java.lang.String startLabelName,
Primitive dataSource,
Primitive indexSource,
int length) |
void |
addWeakLabel(java.lang.String name) |
void |
beginAttibutes(MapBuilder builder) |
BlockBuilder |
beginBlock() |
BufferPreparatorBuilder |
beginBufferPreparator(java.lang.String bufferId) |
DataSectionBuilder |
beginData(boolean isGlobalArgument,
boolean isSeparateFile) |
void |
beginEpilogue() |
ExceptionHandlerBuilder |
beginExceptionHandler(java.lang.String id) |
void |
beginMainSection() |
MemoryPreparatorBuilder |
beginMemoryPreparator(int dataSize) |
void |
beginPostSection() |
PreparatorBuilder |
beginPreparator(java.lang.String targetName,
boolean isComparator) |
void |
beginPreparatorVariant(java.lang.String name,
java.math.BigInteger bias) |
void |
beginPreSection() |
void |
beginPrologue() |
void |
beginSection(java.lang.String name,
java.lang.String prefix,
java.math.BigInteger pa,
java.math.BigInteger va,
java.lang.String args,
boolean file) |
void |
beginSectionData(java.lang.String prefix,
java.math.BigInteger pa,
java.math.BigInteger va,
java.lang.String args) |
void |
beginSectionText(java.lang.String prefix,
java.math.BigInteger pa,
java.math.BigInteger va,
java.lang.String args) |
void |
beginStreamInitMethod() |
StreamPreparatorBuilder |
beginStreamPreparator(java.lang.String dataModeName,
java.lang.String indexModeName) |
void |
beginStreamReadMethod() |
void |
beginStreamWriteMethod() |
MetaOperation |
chooseMetaOperationFromGroup(java.lang.String name) |
void |
defineGroup(java.lang.String name,
ru.ispras.fortress.randomizer.Variate<java.lang.String> variate) |
void |
endAttibutes() |
Template.BlockHolder |
endBlock() |
void |
endBufferPreparator() |
void |
endBuildingCall() |
void |
endData() |
void |
endEpilogue() |
void |
endExceptionHandler() |
void |
endMainSection() |
void |
endMemoryPreparator() |
void |
endPostSection() |
void |
endPreparator() |
void |
endPreparatorVariant() |
void |
endPreSection() |
void |
endPrologue() |
void |
endSection() |
void |
endStreamMethod() |
void |
endStreamPreparator() |
void |
generateData(java.math.BigInteger address,
java.lang.String labelName,
java.lang.String typeId,
int length,
java.lang.String method,
boolean isSeparateFile) |
java.math.BigInteger |
getAddressForLabel(java.lang.String label) |
DataManager |
getDataManager() |
Primitive |
getDataSource() |
ru.ispras.fortress.randomizer.Variate<Situation> |
getDefaultSituation(java.lang.String name) |
Primitive |
getIndexSource() |
Primitive |
getPreparatorTarget() |
LabelValue |
getStartLabel() |
java.util.Set<Block> |
getUnusedBlocks() |
PrimitiveBuilder |
newAddressingModeBuilder(java.lang.String name) |
PrimitiveBuilder |
newAddressingModeBuilderForGroup(java.lang.String name) |
LazyValue |
newAddressReference(int level) |
LazyValue |
newAddressReference(int level,
int start,
int end) |
AllocatorBuilder |
newAllocatorBuilder(java.lang.String strategy) |
LazyValue |
newEntryFieldReference(int level,
java.lang.String fieldId) |
LazyValue |
newEntryFieldReference(int level,
java.lang.String fieldId,
int start,
int end) |
LazyValue |
newEntryReference(int level) |
LazyValue |
newEntryReference(int level,
int start,
int end) |
LazyValue |
newLazy() |
LazyValue |
newLazy(int start,
int end) |
LabelValue |
newLazyLabel() |
MapBuilder |
newMapBuilder() |
MemoryObjectBuilder |
newMemoryObjectBuilder(int size) |
LabelValue |
newNumericLabelRef(int index,
boolean forward) |
PrimitiveBuilder |
newOperationBuilder(java.lang.String name) |
OutputBuilder |
newOutput(java.lang.String kind,
java.lang.String format) |
RandomValue |
newRandom(java.math.BigInteger from,
java.math.BigInteger to) |
RandomValue |
newRandom(ru.ispras.fortress.randomizer.Variate<?> variate) |
Situation.Builder |
newSituation(java.lang.String name,
boolean testDataProvider) |
UnknownImmediateValue |
newUnknownImmediate(Where where,
Allocator allocator,
java.util.List<Primitive> retain,
java.util.List<Primitive> exclude,
boolean reserved) |
ru.ispras.fortress.randomizer.VariateBuilder<?> |
newVariateBuilder() |
void |
setAlignment(java.math.BigInteger value,
java.math.BigInteger valueInBytes,
Where where) |
void |
setCallText(java.lang.String text) |
void |
setDefaultSituation(java.lang.String name,
Situation situation) |
void |
setDefaultSituation(java.lang.String name,
ru.ispras.fortress.randomizer.Variate<Situation> situation) |
void |
setOrigin(java.math.BigInteger origin,
Where where) |
void |
setRelativeOrigin(java.math.BigInteger delta,
Where where) |
void |
setRootOperation(Primitive rootOperation,
Where where) |
Where |
where(java.lang.String file,
int line) |
public Template(EngineContext context, Template.Processor processor)
public DataManager getDataManager()
public java.util.Set<Block> getUnusedBlocks()
public java.math.BigInteger getAddressForLabel(java.lang.String label)
public void beginPreSection()
public void endPreSection()
public void beginPostSection()
public void endPostSection()
public void beginMainSection()
public void endMainSection()
public BlockBuilder beginBlock()
public Template.BlockHolder endBlock()
public void addLabel(java.lang.String name, boolean global)
public void addWeakLabel(java.lang.String name)
public void addNumericLabel(int index)
public LabelValue newNumericLabelRef(int index, boolean forward)
public void addOutput(Output output)
public void setCallText(java.lang.String text)
public void endBuildingCall()
public PrimitiveBuilder newOperationBuilder(java.lang.String name)
public PrimitiveBuilder newAddressingModeBuilder(java.lang.String name)
public RandomValue newRandom(java.math.BigInteger from, java.math.BigInteger to)
public RandomValue newRandom(ru.ispras.fortress.randomizer.Variate<?> variate)
public ru.ispras.fortress.randomizer.VariateBuilder<?> newVariateBuilder()
public AllocatorBuilder newAllocatorBuilder(java.lang.String strategy)
public void addAllocatorAction(Primitive primitive, java.lang.String kind, boolean value, boolean applyToAll)
public UnknownImmediateValue newUnknownImmediate(Where where, Allocator allocator, java.util.List<Primitive> retain, java.util.List<Primitive> exclude, boolean reserved)
public LabelValue newLazyLabel()
public OutputBuilder newOutput(java.lang.String kind, java.lang.String format)
public Situation.Builder newSituation(java.lang.String name, boolean testDataProvider)
public void setDefaultSituation(java.lang.String name, Situation situation)
public void setDefaultSituation(java.lang.String name, ru.ispras.fortress.randomizer.Variate<Situation> situation)
public ru.ispras.fortress.randomizer.Variate<Situation> getDefaultSituation(java.lang.String name)
public PreparatorBuilder beginPreparator(java.lang.String targetName, boolean isComparator)
public void endPreparator()
public void beginPreparatorVariant(java.lang.String name, java.math.BigInteger bias)
public void endPreparatorVariant()
public LazyValue newLazy()
public LazyValue newLazy(int start, int end)
public Primitive getPreparatorTarget()
public void addPreparatorCall(Primitive targetMode, java.math.BigInteger value, java.lang.String preparatorName, java.lang.String variantName)
public void addPreparatorCall(Primitive targetMode, Value value, java.lang.String preparatorName, java.lang.String variantName)
public StreamPreparatorBuilder beginStreamPreparator(java.lang.String dataModeName, java.lang.String indexModeName)
public void endStreamPreparator()
public Primitive getDataSource()
public Primitive getIndexSource()
public LabelValue getStartLabel()
public void beginStreamInitMethod()
public void beginStreamReadMethod()
public void beginStreamWriteMethod()
public void endStreamMethod()
public void addStream(java.lang.String startLabelName, Primitive dataSource, Primitive indexSource, int length)
public BufferPreparatorBuilder beginBufferPreparator(java.lang.String bufferId)
public MapBuilder newMapBuilder()
public void endBufferPreparator()
public MemoryPreparatorBuilder beginMemoryPreparator(int dataSize)
public void endMemoryPreparator()
public LazyValue newAddressReference(int level)
public LazyValue newAddressReference(int level, int start, int end)
public LazyValue newEntryReference(int level)
public LazyValue newEntryReference(int level, int start, int end)
public LazyValue newEntryFieldReference(int level, java.lang.String fieldId)
public LazyValue newEntryFieldReference(int level, java.lang.String fieldId, int start, int end)
public PrimitiveBuilder newAddressingModeBuilderForGroup(java.lang.String name)
public MetaOperation chooseMetaOperationFromGroup(java.lang.String name)
public void defineGroup(java.lang.String name, ru.ispras.fortress.randomizer.Variate<java.lang.String> variate)
public ExceptionHandlerBuilder beginExceptionHandler(java.lang.String id)
public void endExceptionHandler()
public DataSectionBuilder beginData(boolean isGlobalArgument, boolean isSeparateFile)
public void endData()
public void generateData(java.math.BigInteger address, java.lang.String labelName, java.lang.String typeId, int length, java.lang.String method, boolean isSeparateFile)
public void setOrigin(java.math.BigInteger origin, Where where)
public void setRelativeOrigin(java.math.BigInteger delta, Where where)
public void setAlignment(java.math.BigInteger value, java.math.BigInteger valueInBytes, Where where)
public void beginSection(java.lang.String name, java.lang.String prefix, java.math.BigInteger pa, java.math.BigInteger va, java.lang.String args, boolean file)
public void beginSectionText(java.lang.String prefix, java.math.BigInteger pa, java.math.BigInteger va, java.lang.String args)
public void beginSectionData(java.lang.String prefix, java.math.BigInteger pa, java.math.BigInteger va, java.lang.String args)
public void endSection()
public void beginAttibutes(MapBuilder builder)
public void endAttibutes()
public void beginPrologue()
public void endPrologue()
public void beginEpilogue()
public void endEpilogue()
public MemoryObjectBuilder newMemoryObjectBuilder(int size)
public Where where(java.lang.String file, int line)