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

### Method Summary

All Methods Instance Methods Concrete Methods
`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