# Method CompilerEnvironment()->PikeCompiler()->apply_attribute_constant()

Method apply_attribute_constant

  ``type` apply_attribute_constant(`string` `attr`, `mixed` `value`, `type` `arg_type`, `void` `cont_type`)`

Description

  Handle constant arguments to attributed function argument types.

Parameter `attr`

  Attribute that `arg_type` had.

Parameter `value`

  Constant value sent as parameter.

Parameter `arg_type`

  Declared type of the function argument.

Parameter `cont_type`

  Continuation function type after the current argument.

  This function is called when a function is called with the constant value `value` and it has been successfully matched against `arg_type`, and `arg_type` had the type attribute `attr`.

  This function is typically used to perform specialized argument checking and to allow for a strengthening of the function type based on `value`.

  The default implementation implements the `"sprintf_format"`, `"sscanf_format"` and `"sscanf_76_format"` attributes.

Returns

  Returns a continuation type if it succeeded in strengthening the type.

  Returns `UNDEFINED` otherwise (this is not an error indication).

See also

  pop_type_attribute(), push_type_attribute()