Q: What does migStatus="external" stand for?
A: migStatus="external" is typically used when a API element is migrating to an expression should not be preceded by the migration target of its parent library.
For example in the Scripting migration rules:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...FileExplorer\proj_csh\usr\Scrrun.dll.SystemIO.Refactor.xml ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 <Refactor id="[scrrun.dll]" event="scrrun" > > 6 <Migrate migName="System.IO" libType="Native" location="DoNotDeclare" AssemblyName="System.IO" /> ... > 115 <Migrate id="SpecialFolderConst.TemporaryFolder" migName="System.IO.Path.GetTempPath()" migStatus="external" />
Most of the API elements in Scripting migrate to something in System.IO. We use migName="System.IO" on the Migrate rule for the library itself. This indicates that "System.IO" will be used to qualify Scripting API elements when they are expressed in the translations.
In this example, migStatus="external" is used with SpecialFolderConst.TemporaryFolder to indicate that it is an exception, it will expressed by a pattern that is not preceded by System.IO.
The appropriate values for migStatus depend on the element to which they apply.
The list of migStatus values listed in the Component status flags section:
https://portal.greatmigrations.com/display/GMG/gmplDeclarationStatements