Class ProgramBlock
java.lang.Object
org.apache.sysds.runtime.controlprogram.ProgramBlock
- All Implemented Interfaces:
ParseInfo
- Direct Known Subclasses:
BasicProgramBlock,ForProgramBlock,FunctionProgramBlock,IfProgramBlock,WhileProgramBlock
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract voidExecutes this program block (incl recompilation if required).executePredicate(ArrayList<Instruction> inst, Hop hops, boolean requiresRecompile, Types.ValueType retType, ExecutionContext ec) Executes given predicate instructions (incl recompilation if required)intintabstract ArrayList<ProgramBlock>Get the list of child program blocks if nested; otherwise this method returns null.intintgetText()longbooleanabstract booleanisNested()Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).static booleanisThreadID(long tid) voidsetBeginColumn(int passed) voidsetBeginLine(int passed) voidsetEndColumn(int passed) voidsetEndLine(int passed) voidsetExitInstruction(Instruction rmVar) voidsetFilename(String passed) voidsetParseInfo(ParseInfo parseInfo) Set parse information.voidvoidvoidsetThreadID(long id)
-
Field Details
-
PRED_VAR
- See Also:
-
CHECK_MATRIX_PROPERTIES
public static boolean CHECK_MATRIX_PROPERTIES -
_filename
-
_beginLine
public int _beginLine -
_beginColumn
public int _beginColumn -
_endLine
public int _endLine -
_endColumn
public int _endColumn -
_text
-
-
Constructor Details
-
ProgramBlock
-
-
Method Details
-
getProgram
-
getStatementBlock
-
setStatementBlock
-
setThreadID
public void setThreadID(long id) -
hasThreadID
public boolean hasThreadID() -
isThreadID
public static boolean isThreadID(long tid) -
getThreadID
public long getThreadID() -
setExitInstruction
-
getExitInstruction
-
getChildBlocks
Get the list of child program blocks if nested; otherwise this method returns null.- Returns:
- list of program blocks
-
isNested
public abstract boolean isNested()Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).- Returns:
- true if nested
-
execute
Executes this program block (incl recompilation if required).- Parameters:
ec- execution context
-
executePredicate
public ScalarObject executePredicate(ArrayList<Instruction> inst, Hop hops, boolean requiresRecompile, Types.ValueType retType, ExecutionContext ec) Executes given predicate instructions (incl recompilation if required)- Parameters:
inst- list of instructionshops- high-level operatorrequiresRecompile- true if requires recompileretType- value type of the return typeec- execution context- Returns:
- scalar object
-
setFilename
- Specified by:
setFilenamein interfaceParseInfo
-
setBeginLine
public void setBeginLine(int passed) - Specified by:
setBeginLinein interfaceParseInfo
-
setBeginColumn
public void setBeginColumn(int passed) - Specified by:
setBeginColumnin interfaceParseInfo
-
setEndLine
public void setEndLine(int passed) - Specified by:
setEndLinein interfaceParseInfo
-
setEndColumn
public void setEndColumn(int passed) - Specified by:
setEndColumnin interfaceParseInfo
-
setText
-
getFilename
- Specified by:
getFilenamein interfaceParseInfo
-
getBeginLine
public int getBeginLine()- Specified by:
getBeginLinein interfaceParseInfo
-
getBeginColumn
public int getBeginColumn()- Specified by:
getBeginColumnin interfaceParseInfo
-
getEndLine
public int getEndLine()- Specified by:
getEndLinein interfaceParseInfo
-
getEndColumn
public int getEndColumn()- Specified by:
getEndColumnin interfaceParseInfo
-
getText
-
printBlockErrorLocation
-
setParseInfo
Set parse information.- Parameters:
parseInfo- parse information, such as beginning line position, beginning column position, ending line position, ending column position, text, and filename
-