org.apache.sysds.parser

## Class WhileStatementBlock

- java.lang.Object
- - org.apache.sysds.parser.LiveVariableAnalysis
  - - org.apache.sysds.parser.StatementBlock
    - - org.apache.sysds.parser.WhileStatementBlock

- All Implemented Interfaces:
    ParseInfo

      public class WhileStatementBlock
      extends StatementBlock

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `WhileStatementBlock()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `VariableSet` | `analyze(VariableSet loPassed)`
    `ArrayList<String>` | `getInputstoSB()`
    `Hop` | `getPredicateHops()`
    `Lop` | `getPredicateLops()`
    `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` | `requiresPredicateRecompilation()`
    `void` | `setPredicateHops(Hop hops)`
    `void` | `setPredicateLops(Lop predicateLops)`
    `boolean` | `updatePredicateRecompilationFlag()`
    `VariableSet` | `validate(DMLProgram dmlProg, VariableSet ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)`

    - ### Methods inherited from class org.apache.sysds.parser.StatementBlock

      `addStatement, addStatementBlock, getBeginColumn, getBeginLine, getConstIn, getConstOut, getDMLProg, getEndColumn, getEndLine, getFilename, getHops, getLops, getName, getNumStatements, getOutputNamesofSB, getOutputsofSB, getSBID, getStatement, getStatements, getText, getUpdateInPlaceVars, isMergeableFunctionCallBlock, isNondeterministic, isRewritableFunctionCall, isSplitDag, mergeable, mergeFunctionCalls, mergeStatementBlocks, printBlockErrorLocation, printErrorLocation, printWarningLocation, raiseValidateError, raiseValidateError, requiresRecompilation, rewriteFunctionCallStatements, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, setBeginColumn, setBeginLine, setDMLProg, setEndColumn, setEndLine, setFilename, setHops, setLops, setNondeterministic, setParseInfo, setSplitDag, setStatementFormatType, setStatementFormatType, setStatements, setText, setUpdateInPlaceVars, toString, updateRecompilationFlag`

    - ### Methods inherited from class org.apache.sysds.parser.LiveVariableAnalysis

      `getGen, getKill, getWarn, liveIn, liveOut, setGen, setKill, setLiveIn, setLiveOut, setReadVariables, setUpdatedVariables, updateLiveVariablesOut, variablesRead, variablesUpdated`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.sysds.parser.ParseInfo

      `ctxAndFilenameToParseInfo`

- - ### Constructor Detail

    - #### WhileStatementBlock

          public WhileStatementBlock()

  - ### Method Detail

    - #### validate

          public VariableSet validate(DMLProgram dmlProg,
                                      VariableSet ids,
                                      HashMap<String,ConstIdentifier> constVars,
                                      boolean conditional)

      Overrides:
        `validate` in class `StatementBlock`

    - #### initializeforwardLV

          public VariableSet initializeforwardLV(VariableSet activeInPassed)

      Description copied from class: `StatementBlock`
      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.
      Overrides:
        `initializeforwardLV` in class `StatementBlock`

    - #### initializebackwardLV

          public VariableSet initializebackwardLV(VariableSet loPassed)

      Overrides:
        `initializebackwardLV` in class `StatementBlock`

    - #### setPredicateHops

          public void setPredicateHops(Hop hops)

    - #### getPredicateHops

          public Hop getPredicateHops()

    - #### getPredicateLops

          public Lop getPredicateLops()

    - #### setPredicateLops

          public void setPredicateLops(Lop predicateLops)

    - #### getInputstoSB

          public ArrayList<String> getInputstoSB()

      Overrides:
        `getInputstoSB` in class `StatementBlock`

    - #### analyze

          public VariableSet analyze(VariableSet loPassed)

      Overrides:
        `analyze` in class `StatementBlock`

    - #### updatePredicateRecompilationFlag

          public boolean updatePredicateRecompilationFlag()

    - #### requiresPredicateRecompilation

          public boolean requiresPredicateRecompilation()

Copyright © 2020 The Apache Software Foundation. All rights reserved.