FixType is a terminal, refactoring statement that occurs within Refactor statements. It changes the binary
type of a component. It can also be used to change various status or process flags associated with that component.
The attributes of the FixType statement are as follows:
Attribute
Description
Identifier
This required attribute specifies the symbol, the actual component whose type and/or flags are to be
changed, If the containing Refactor statement had a FileFilter specified then this
identifier should be specified relative to it; else, it should be specified relative to the root
of the symbol table
Type
This optional attribute is a Type attribute as discussed on the Declaration page. It
specifies a new type of the identified component.
Status
This optional attribute specifies that certain context, status, or process flags as specified on Declaration
page be set for the identified components.
The actual entries that may be used for the Status attribute are as follows:
Entry
Description
Overload
This entry is only used with subprograms. It specifies that the subprogram should be overloaded. It actually
marks the subprogram and all its optional arguments with the Overload context flag.
Protected
This entry is only used with subprograms. It sets the Protected context flag which specifies that
the component requires the protected adornment when it is declared in the target language.
BlockTemps
This entry is only used with subprograms. It sets the BlockTemps process flag which blocks the formation
of a TempArg when converting a Select into an If.
objectOnly
This entry applies to components whose type is being set to Variant or Object. It
sets the ObjectOnly process flag which blocks all type inferences on the component. It will
retain its weak type and casting or boxing operations will be inserted where needed around references
to the component.
EnforceType
This entry applies to subprogram parameters. It sets the EnforceType process flag and means that any
argument passed to this parameter should have the parameter type enforced on it as opposed to doing any
type inference on either the parameter or argument .
Out
This entry sets the ByOut context flag.
ByRef
This entry sets the ByRef context flag.
ByVal
This entry sets the ByVal context flag.
The script errors associated with the Fixtype statement are as follows: