org.apache.sysds.parser

## Class ParameterizedBuiltinFunctionExpression

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

- All Implemented Interfaces:
    ParseInfo

      public class ParameterizedBuiltinFunctionExpression
      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`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static HashMap<Builtins,Types.ParamBuiltinOp>` | `pbHopMap`
    `static String` | `TF_FN_PARAM_DATA`
    `static String` | `TF_FN_PARAM_MTD`
    `static String` | `TF_FN_PARAM_MTD2`
    `static String` | `TF_FN_PARAM_SPEC`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ParameterizedBuiltinFunctionExpression(Builtins op, LinkedHashMap<String,Expression> varParams, ParseInfo parseInfo)`
    `ParameterizedBuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx, Builtins op, LinkedHashMap<String,Expression> varParams, String filename)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addVarParam(String name, Expression value)`
    `Builtins` | `getOpCode()`
    `static ParameterizedBuiltinFunctionExpression` | `getParamBuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx, String functionName, ArrayList<ParameterExpression> paramExprsPassed, String fileName)`
    `Expression` | `getVarParam(String name)`
    `HashMap<String,Expression>` | `getVarParams()`
    `boolean` | `multipleReturns()` Method to specify if an expression returns multiple outputs.
    `Expression` | `rewriteExpression(String prefix)`
    `void` | `setOpcode(Builtins op)`
    `String` | `toString()`
    `void` | `validateExpression(HashMap<String,DataIdentifier> ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)` Validate parse tree : Process BuiltinFunction Expression in an assignment statement
    `void` | `validateExpression(MultiAssignmentStatement stmt, HashMap<String,DataIdentifier> ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)`
    `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`

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

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

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

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

      `ctxAndFilenameToParseInfo`

- - ### Field Detail

    - #### TF_FN_PARAM_DATA

          public static final String TF_FN_PARAM_DATA

      See Also:
        Constant Field Values

    - #### TF_FN_PARAM_MTD2

          public static final String TF_FN_PARAM_MTD2

      See Also:
        Constant Field Values

    - #### TF_FN_PARAM_SPEC

          public static final String TF_FN_PARAM_SPEC

      See Also:
        Constant Field Values

    - #### TF_FN_PARAM_MTD

          public static final String TF_FN_PARAM_MTD

      See Also:
        Constant Field Values

    - #### pbHopMap

          public static HashMap<Builtins,Types.ParamBuiltinOp> pbHopMap

  - ### Constructor Detail

    - #### ParameterizedBuiltinFunctionExpression

          public ParameterizedBuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx,
                                                        Builtins op,
                                                        LinkedHashMap<String,Expression> varParams,
                                                        String filename)

    - #### ParameterizedBuiltinFunctionExpression

          public ParameterizedBuiltinFunctionExpression(Builtins op,
                                                        LinkedHashMap<String,Expression> varParams,
                                                        ParseInfo parseInfo)

  - ### Method Detail

    - #### getParamBuiltinFunctionExpression

          public static ParameterizedBuiltinFunctionExpression getParamBuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx,
                                                                                                 String functionName,
                                                                                                 ArrayList<ParameterExpression> paramExprsPassed,
                                                                                                 String fileName)

    - #### rewriteExpression

          public Expression rewriteExpression(String prefix)

      Overrides:
        `rewriteExpression` in class `DataIdentifier`

    - #### setOpcode

          public void setOpcode(Builtins op)

    - #### getOpCode

          public Builtins getOpCode()

    - #### getVarParams

          public HashMap<String,Expression> getVarParams()

    - #### getVarParam

          public Expression getVarParam(String name)

    - #### addVarParam

          public void addVarParam(String name,
                                  Expression value)

    - #### validateExpression

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

      Validate parse tree : Process BuiltinFunction Expression in an assignment statement
      Overrides:
        `validateExpression` in class `Identifier`

    - #### validateExpression

          public void validateExpression(MultiAssignmentStatement stmt,
                                         HashMap<String,DataIdentifier> ids,
                                         HashMap<String,ConstIdentifier> constVars,
                                         boolean conditional)

      Overrides:
        `validateExpression` in class `Expression`

    - #### 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 © 2020 The Apache Software Foundation. All rights reserved.