921 |
virtual vmint maxAllowedArgs() const = 0; |
virtual vmint maxAllowedArgs() const = 0; |
922 |
|
|
923 |
/** |
/** |
|
* Script data type of the function's @c iArg 'th function argument. |
|
|
* The information provided here is less strong than acceptsArgType(). |
|
|
* The parser will compare argument data types provided in scripts by |
|
|
* calling acceptsArgType(). The return value of argType() is used by the |
|
|
* parser instead to show an appropriate parser error which data type |
|
|
* this function usually expects as "default" data type. Reason: a |
|
|
* function may accept multiple data types for a certain function |
|
|
* argument and would automatically cast the passed argument value in |
|
|
* that case to the type it actually needs. |
|
|
* |
|
|
* @param iArg - index of the function argument in question |
|
|
* (must be between 0 .. maxAllowedArgs() - 1) |
|
|
*/ |
|
|
virtual ExprType_t argType(vmint iArg) const = 0; |
|
|
|
|
|
/** |
|
924 |
* This method is called by the parser to check whether arguments |
* This method is called by the parser to check whether arguments |
925 |
* passed in scripts to this function are accepted by this function. If |
* passed in scripts to this function are accepted by this function. If |
926 |
* a script calls this function with an argument's data type not |
* a script calls this function with an argument's data type not |
927 |
* accepted by this function, the parser will throw a parser error. On |
* accepted by this function, the parser will throw a parser error. |
928 |
* such errors the data type returned by argType() will be used to |
* |
929 |
* assemble an appropriate error message regarding the precise misusage |
* The parser will also use this method to assemble a list of actually |
930 |
* of the built-in function. |
* supported data types accepted by this built-in function for the |
931 |
|
* function argument in question, that is to provide an appropriate and |
932 |
|
* precise parser error message in such cases. |
933 |
* |
* |
934 |
* @param iArg - index of the function argument in question |
* @param iArg - index of the function argument in question |
935 |
* (must be between 0 .. maxAllowedArgs() - 1) |
* (must be between 0 .. maxAllowedArgs() - 1) |