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, updateRecompilationFlag
getGen, getKill, getWarn, liveIn, liveOut, setGen, setKill, setLiveIn, setLiveOut, setReadVariables, setUpdatedVariables, updateLiveVariablesOut, variablesRead, variablesUpdated
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
ctxAndFilenameToParseInfo
public VariableSet validate(DMLProgram dmlProg, VariableSet ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)
validate
in class StatementBlock
public FunctionOp.FunctionType getFunctionOpType()
public VariableSet initializeforwardLV(VariableSet activeInPassed)
StatementBlock
initializeforwardLV
in class StatementBlock
public VariableSet initializebackwardLV(VariableSet loPassed)
initializebackwardLV
in class StatementBlock
public VariableSet analyze(VariableSet loPassed)
analyze
in class StatementBlock
public VariableSet analyze(VariableSet liPassed, VariableSet loPassed)
public void setRecompileOnce(boolean flag)
public boolean isRecompileOnce()
public void setNondeterministic(boolean flag)
setNondeterministic
in class StatementBlock
public boolean isNondeterministic()
isNondeterministic
in class StatementBlock
public Types.FunctionBlock cloneFunctionBlock()
cloneFunctionBlock
in interface Types.FunctionBlock
Copyright © 2020 The Apache Software Foundation. All rights reserved.