Support Statement: Useful Search reporting patterns

Presets

gmStudio ships with a default set of Search Reporting presets.  These patterns (i.e. parameterized snippets) may be used to generate translation rules from search results.  The resulting rule snippets may be manually integrated with your upgrade solution rules files.

PRESET Symbols-FixType
<FixType identifier="%LocText%" type="Variant" />
.

PRESET Symbols-Reauthor
<Reauthor subprogram="%LocText%"><![CDATA[
// UPGRADE_INFO: hand-coded replacement
]]></Reauthor>
.

PRESET Symbols-Remove
<Remove identifier="%LocText%" migStatus="stubout|delete|conditional" />
.

PRESET Symbols-Rename
<Rename identifier="%LocText%" content="%LocText%" />
.

PRESET Symbols-Generic
<Generic identifier="%LocText%" types="string,integer" />
.

PRESET Symbols-OverGeneric
<OverGeneric identifier="%LocText%" types="constraint text" />
.

PRESET Symbols-Overload
<Overload identifier="%LocText%" types="%LocText%" />
.

PRESET SourceScan-Replace
<Replace name="Replace in %MemClas%">
<OldBlock><![CDATA[%LocText%]]></OldBlock>
<NewBlock><![CDATA[%LocText%]]></NewBlock>
</Replace>
.

PRESET SourceStruct-ReplaceFile
<Fix name="PostEdit_ReplaceFiles" host="%MemLibr%">
<ReplaceFile name="%MemClas%"
    lang="csh"    
    source="%MemClas%.cs"
    target="..\usr\handcode\%MemClas%.cs"
/>
</Fix>
.

PRESET SourceScan-EditFile
<Registry type="EditFile" Source="%LocFile%">
   <Fix name="EditFile">
   <Replace status="active" name="name">
   <OldBlock><![CDATA[%Loctext%]]></OldBlock>
   <NewBlock><![CDATA[%Loctext%]]></NewBlock>
   </Replace>
   </Fix>
</Registry>
.
PRESET Various-RefactorFile
<Registry type="RefactorFile" Source="%LocFile%">
   <Refactor>
   <FixType identifier="%MemClas%.%LocMemb%" type="Variant" status="ObjectOnly" />
   </Refactor>
</Registry>
.

PRESET Reference-Migrate
<Migrate id="%LocName%" migName="newName" />
.

PRESET References-Report
%MemType%: %MemLibr%.%MemClas%.%MemName%


IDF Report

Migrate Commands Based on mig attributes

Search Pattern: report every IDF element that has a migElement in it.

\s+(mig\w+=".*")

Report Pattern: print information about location and migration attributes

<!-- "%locName%" -->
<migrate id="%locName%" %locText% />

Still need to cleanup to make valid migrate statements.  Also misses changes that do not include a mig attribute.

References report

Calling 

All forms of calling a member of an API
Search for
\t(ClearRange\t.*SpreadADO)\t.*(\.ClearRange[^\t]*)
Report statements with 
%Loctext%
Report member with parameters with 
%rec%[2]


Build Log Report

h2. B00) %msgnumb%: %msgText%

{code}
File: %SrcFile% @ %Srcrecd%
Sub : %SrcMemb%
Code: %SrcText%
{code}