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

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, getValueType, isScalarBoolean, setBlocksize, setBooleanProperties, setDataType, setDimensions, setDimensionValueProperties, setFileFormat, setIntProperties, setNnz, 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 Details

### FunctionCallIdentifier

public FunctionCallIdentifier()

### FunctionCallIdentifier

public FunctionCallIdentifier(ArrayList<ParameterExpression> paramExpressions)

## Method Details

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