Class ParameterFunDef

java.lang.Object
org.eigenbase.xom.XMLUtil
org.eigenbase.xom.XOMUtil
All Implemented Interfaces:
FunDef

public class ParameterFunDef extends FunDefBase
A ParameterFunDef is a pseudo-function describing calls to Parameter and ParamRef functions. It exists only fleetingly, and is then converted into a Parameter. For internal use only.
Since:
Feb 14, 2003
Author:
jhyde
  • Field Details

    • parameterName

      public final String parameterName
    • exp

      public final Exp exp
    • parameterDescription

      public final String parameterDescription
  • Method Details

    • createCall

      public Exp createCall(Validator validator, Exp[] args)
      Description copied from interface: FunDef
      Creates an expression which represents a call to this function with a given set of arguments. The result is usually a ResolvedFunCall but not always.
      Specified by:
      createCall in interface FunDef
      Overrides:
      createCall in class FunDefBase
    • getResultType

      public Type getResultType(Validator validator, Exp[] args)
      Description copied from class: FunDefBase
      Returns the type of a call to this function with a given set of arguments.

      The default implementation makes the coarse assumption that the return type is in some way related to the type of the first argument. Operators whose arguments don't follow the requirements of this implementation should override this method.

      If the function definition says it returns a literal type (numeric, string, symbol) then it's a fair guess that the function call returns the same kind of value.

      If the function definition says it returns an object type (cube, dimension, hierarchy, level, member) then we check the first argument of the function. Suppose that the function definition says that it returns a hierarchy, and the first argument of the function happens to be a member. Then it's reasonable to assume that this function returns a member.

      Overrides:
      getResultType in class FunDefBase
      Parameters:
      validator - Validator
      args - Arguments to the call to this operator
      Returns:
      result type of a call this function
    • getParameterName

      public static String getParameterName(Exp[] args)
    • getParameterType

      public static Type getParameterType(Exp[] args)
      Returns an approximate type for a parameter, based upon the 1'th argument. Does not use the default value expression, so this method can safely be used before the expression has been validated.