Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A: migStatus="external" is typically used when a an API element is migrating to an expression that should not be preceded by the migration target (i.e. namespace) of its parent library. 

For Here is an example in from the Scripting migration rules :for Script Runtime

Code Block
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...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 to indicate this and it causes "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

Looking at it here, I see the rule could be simplified to:

> 115    <Migrate id="SpecialFolderConst.TemporaryFolder" migName="Path.The GetTempPath()" />

Note that 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://portalgreatmigrations.greatmigrationsatlassian.comnet/wiki/display/GMG/gmplDeclarationStatements