public class FunctionStatementBlock extends StatementBlock implements Types.FunctionBlock
| Constructor and Description |
|---|
FunctionStatementBlock() |
| Modifier and Type | Method and Description |
|---|---|
VariableSet |
analyze(VariableSet loPassed) |
VariableSet |
analyze(VariableSet liPassed,
VariableSet loPassed) |
Types.FunctionBlock |
cloneFunctionBlock() |
FunctionOp.FunctionType |
getFunctionOpType() |
VariableSet |
initializebackwardLV(VariableSet loPassed) |
VariableSet |
initializeforwardLV(VariableSet activeInPassed)
For each statement:
gen rule: for each variable read in current statement but not updated in any PRIOR statement, add to gen
Handles case where variable both read and updated in same statement (i = i + 1, i needs to be added to gen)
kill rule: for each variable updated in current statement but not read in this or any PRIOR statement,
add to kill.
|
boolean |
isNondeterministic() |
boolean |
isRecompileOnce() |
void |
setNondeterministic(boolean flag) |
void |
setRecompileOnce(boolean flag) |
VariableSet |
validate(DMLProgram dmlProg,
VariableSet ids,
HashMap<String,ConstIdentifier> constVars,
boolean conditional)
TODO: DRB: This needs to be changed to reflect:
1) Default values for variables -- need to add R styled check here to make sure that once vars with
default values start, they keep going to the right
2) The other parameters for External Functions
|
addStatement, addStatementBlock, getBeginColumn, getBeginLine, getConstIn, getConstOut, getDMLProg, getEndColumn, getEndLine, getFilename, getHops, getInputstoSB, getLops, getName, getNumStatements, getOutputNamesofSB, getOutputsofSB, getSBID, getStatement, getStatements, getText, getUpdateInPlaceVars, isMergeableFunctionCallBlock, isRewritableFunctionCall, isSplitDag, mergeable, mergeFunctionCalls, mergeStatementBlocks, printBlockErrorLocation, printErrorLocation, printWarningLocation, raiseValidateError, raiseValidateError, requiresRecompilation, rewriteFunctionCallStatements, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, setBeginColumn, setBeginLine, setDMLProg, setEndColumn, setEndLine, setFilename, setHops, setLops, setParseInfo, setSplitDag, setStatementFormatType, setStatementFormatType, setStatements, setText, setUpdateInPlaceVars, toString, updateRecompilationFlaggetGen, getKill, getWarn, liveIn, liveOut, setGen, setKill, setLiveIn, setLiveOut, setReadVariables, setUpdatedVariables, updateLiveVariablesOut, variablesRead, variablesUpdatedequals, getClass, hashCode, notify, notifyAll, wait, wait, waitctxAndFilenameToParseInfopublic VariableSet validate(DMLProgram dmlProg, VariableSet ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)
validate in class StatementBlockpublic FunctionOp.FunctionType getFunctionOpType()
public VariableSet initializeforwardLV(VariableSet activeInPassed)
StatementBlockinitializeforwardLV in class StatementBlockpublic VariableSet initializebackwardLV(VariableSet loPassed)
initializebackwardLV in class StatementBlockpublic VariableSet analyze(VariableSet loPassed)
analyze in class StatementBlockpublic VariableSet analyze(VariableSet liPassed, VariableSet loPassed)
public void setRecompileOnce(boolean flag)
public boolean isRecompileOnce()
public void setNondeterministic(boolean flag)
setNondeterministic in class StatementBlockpublic boolean isNondeterministic()
isNondeterministic in class StatementBlockpublic Types.FunctionBlock cloneFunctionBlock()
cloneFunctionBlock in interface Types.FunctionBlockCopyright © 2021 The Apache Software Foundation. All rights reserved.