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 and Description
    `FunctionCallIdentifier()`
    `FunctionCallIdentifier(ArrayList<ParameterExpression> paramExpressions)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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`

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

      `ctxAndFilenameToParseInfo`

- - ### 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

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