Package org.apache.sysds.parser

## Class FunctionCallIdentifier

- java.lang.Object
- - org.apache.sysds.parser.Expression
  - - org.apache.sysds.parser.Identifier
    - - org.apache.sysds.parser.DataIdentifier
      - - org.apache.sysds.parser.FunctionCallIdentifier

- All Implemented Interfaces:
    `ParseInfo`

      public class FunctionCallIdentifier
      extends DataIdentifier

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.sysds.parser.Expression

      `Expression.BinaryOp, Expression.BooleanOp, Expression.DataOp, Expression.FunctCallOp, Expression.RelationalOp`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FunctionCallIdentifier()` |
    `FunctionCallIdentifier​(ArrayList<ParameterExpression> paramExpressions)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getNamespace()` |
    `Expression.FunctCallOp` | `getOpCode()` |
    `ArrayList<ParameterExpression>` | `getParamExprs()` |
    `boolean` | `multipleReturns()` | Method to specify if an expression returns multiple outputs.
    `Expression` | `rewriteExpression​(String prefix)` |
    `void` | `setFunctionName​(String functionName)` | sets the function namespace (if specified) and name
    `void` | `setFunctionNamespace​(String passed)` |
    `String` | `toString()` |
    `void` | `validateExpression​(DMLProgram dmlp, HashMap<String,​DataIdentifier> ids, HashMap<String,​ConstIdentifier> constVars, boolean conditional)` | Validate parse tree : Process ExtBuiltinFunction Expression is an assignment statement NOTE: this does not override the normal validateExpression because it needs to pass dmlp!
    `VariableSet` | `variablesRead()` |
    `VariableSet` | `variablesUpdated()` |

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

      `equals, getName, hashCode, setName`

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

      `computeDataType, dimsKnown, getBlocksize, getDataType, getDim1, getDim2, getFileFormat, getNnz, getPrivacy, getValueType, isScalarBoolean, setBlocksize, setBooleanProperties, setDataType, setDimensions, setDimensionValueProperties, setFileFormat, setIntProperties, setNnz, setPrivacy, setPrivacy, setProperties, setValueType, validateExpression`

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

      `computeDataType, computeDataType, computeValueType, computeValueType, computeValueType, convertFormatType, getBeginColumn, getBeginLine, getBinaryMatrixCharacteristics, getBinaryOp, getBooleanOp, getEndColumn, getEndLine, getFilename, getOutput, getOutputs, getParseExceptionList, getRelationalOp, getTempName, getText, printErrorLocation, printInfoLocation, printWarningLocation, raiseValidateError, raiseValidateError, raiseValidateError, setBeginColumn, setBeginLine, setCtxValues, setCtxValuesAndFilename, setEndColumn, setEndLine, setFilename, setOutput, setParseExceptionList, setParseInfo, setText, validateExpression`

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

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### FunctionCallIdentifier

          public FunctionCallIdentifier()

    - #### FunctionCallIdentifier

          public FunctionCallIdentifier​(ArrayList<ParameterExpression> paramExpressions)

  - ### Method Detail

    - #### setFunctionName

          public void setFunctionName​(String functionName)

      sets the function namespace (if specified) and name
      Parameters:
        `functionName` - the (optional) namespace information and name of function. If both namespace and name are specified, they are concatenated with "::"

    - #### setFunctionNamespace

          public void setFunctionNamespace​(String passed)

    - #### getNamespace

          public String getNamespace()

    - #### getParamExprs

          public ArrayList<ParameterExpression> getParamExprs()

    - #### rewriteExpression

          public Expression rewriteExpression​(String prefix)

      Overrides:
        `rewriteExpression` in class `DataIdentifier`

    - #### getOpCode

          public Expression.FunctCallOp getOpCode()

    - #### validateExpression

          public void validateExpression​(DMLProgram dmlp,
                                         HashMap<String,​DataIdentifier> ids,
                                         HashMap<String,​ConstIdentifier> constVars,
                                         boolean conditional)

      Validate parse tree : Process ExtBuiltinFunction Expression is an assignment statement NOTE: this does not override the normal validateExpression because it needs to pass dmlp!
      Parameters:
        `dmlp` - dml program
        `ids` - map of data identifiers
        `constVars` - map of constant identifiers
        `conditional` - if true, display warning for 'raiseValidateError'; if false, throw LanguageException for 'raiseValidateError'

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `DataIdentifier`

    - #### variablesRead

          public VariableSet variablesRead()

      Overrides:
        `variablesRead` in class `DataIdentifier`

    - #### variablesUpdated

          public VariableSet variablesUpdated()

      Overrides:
        `variablesUpdated` in class `DataIdentifier`

    - #### multipleReturns

          public boolean multipleReturns()

      Description copied from class: `DataIdentifier`
      Method to specify if an expression returns multiple outputs. This method must be overridden by all child classes.
      Overrides:
        `multipleReturns` in class `DataIdentifier`
      Returns:
        true if expression returns multiple outputs