gmplFixTypeStatement

FixType Statement Summary

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
IdentifierThis 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
TypeThis optional attribute is a Type attribute as discussed on the Declaration page. It specifies a new type of the identified component.
StatusThis 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
Dynamic

This entry applies to components whose type should be fixed to a strong type for the purposes of migration but should be authored in the generated code as type dynamic in C# (or type Object in VB.NET) . This is typically used for weakly-typed symbol that are used with multiple different types.

OverloadThis 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.
ProtectedThis 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.
BlockTempsThis 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.
objectOnlyThis 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.
EnforceTypeThis 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 .
OutThis entry sets the ByOut context flag.
ByRefThis entry sets the ByRef context flag.
ByValThis entry sets the ByVal context flag.
typeUsed with type="Collection" Status="type" indicates that the symbol is a SortedList<int,type>.  This is useful for ControlArrays of the specified type.

The script errors associated with the Fixtype statement are as follows:


Error Description
1093Unable to resolve type [%1d] at this time.
1094Unable to resolve status [%1d] at this time.
Table of Contents