Skip to main content

%Compiler.COS.Refactor

Class %Compiler.COS.Refactor Extends %Compiler.COS.Traveler [ System = 4 ]

Properties

className

Property className As %String;

propName

Property propName As %String;

methName

Property methName As %String;

type

Property type As %String;

lhs

Property lhs As %String;

lnum

Property lnum As %Integer;

pair

Property pair As %ObjectHandle;

changed

Property changed As %Boolean;

scname

Property scname As %String;

tcname

Property tcname As %String;

cmname

Property cmname As %Binary;

smname

Property smname As %String;

tmname

Property tmname As %String;

ssqlname

Property ssqlname As %String;

tsqlname

Property tsqlname As %String;

sqlTableNameList

Property sqlTableNameList As %String;

ctind

Property ctind As %Integer;

Methods

oneClassold

Method oneClassold() As %Status

oneClass

Method oneClass(ByRef tempName As %String, bsave As %Boolean = 1, ByRef storagechanged As %Boolean, bNewSlot As %Boolean = 0, bDeleteStorage As %Boolean = 0) As %Status

rf

Method rf(ByRef source As %RawString, pPackage As %RawString = "", ByRef code As %RawString, ByRef warning As %Status = 1, sqlContext As %Integer = 0) As %Status

v9

Method v9(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

LvnRef(9): ann name Name:1, ann enum LvnType:2, optional child Subscripts:1 LOCAL/GLOBAL VARIABLES enum LvnType: Private:1, Public:2, Parameter:3

v10

Method v10(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v2

Method v2(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v1

Method v1(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v62

Method v62(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v5

Method v5(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

replaceMemberName

Method replaceMemberName(parseTree As %Compiler.Util.ParseTree, newname As %Binary, nodePtr As %Integer)

replaceClassName

Method replaceClassName(parseTree As %Compiler.Util.ParseTree, newname As %Binary, nodePtr As %Integer, parentPtr As %Integer, ann As %String)

v35

Method v35(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v97

Method v97(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v36

Method v36(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v41

Method v41(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v13

Method v13(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v14

Method v14(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v37

Method v37(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v34

Method v34(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v33

Method v33(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v11

Method v11(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v38

Method v38(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v12

Method v12(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

v32

Method v32(parseTree As %Compiler.Util.ParseTree, visit As %Integer, nodePtr As %Integer, parentPtr As %Integer)

ChangeMultClassNameExecute

ClassMethod ChangeMultClassNameExecute(ByRef qHandle As %Binary, oldName As %String, newName As %String, projectName As %String) As %Status

ChangeMultClassNameClose

ClassMethod ChangeMultClassNameClose(ByRef qHandle As %Binary) As %Status [ PlaceAfter = ChangeMultClassNameExecute ]

ChangeMultClassNameFetch

ClassMethod ChangeMultClassNameFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ PlaceAfter = ChangeMultClassNameExecute ]

GetSubclasses

ClassMethod GetSubclasses(classname As %String) As %Binary

GetTableList

ClassMethod GetTableList(classnamelist As %Binary) As %Binary

ChangeMultMemberNameExecute

ClassMethod ChangeMultMemberNameExecute(ByRef qHandle As %Binary, oldName As %String, newName As %String, memclassName As %String, projectName As %String, sqlName As %String = "") As %Status

ChangeMultMemberNameClose

ClassMethod ChangeMultMemberNameClose(ByRef qHandle As %Binary) As %Status [ PlaceAfter = ChangeMultClassNameExecute ]

ChangeMultMemberNameFetch

ClassMethod ChangeMultMemberNameFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ PlaceAfter = ChangeMultClassNameExecute ]

NormalizeClName

ClassMethod NormalizeClName(clname As %String, context As %String) As %String

ChangeCSList

ClassMethod ChangeCSList(ByRef cslist As %String, oldName As %String, newName As %String, bNormalize As %Boolean, context As %String = "") As %Boolean

ChangeClName

ClassMethod ChangeClName(oldName As %String, newName As %String, className As %String, ByRef tempName As %String, ByRef storagechanged As %Boolean, bDeleteStorage As %Boolean = 0) As %Status

The method ChangeClName is used for changing a class name. Arguments: oldName - existing class name, newName - new class name, className - class to be processed, tempName - name of generated clas,s storagechanged - indicate whether storage was modified. In order to replace encounters of the class A to the class B in the class C, the call should be ChangeClName(A, B, C, .tempName, .storagechanged) As a result of this call a new class (with a name returned in tempName) will be created (but not compiled).

ChangeClassNameExecute

ClassMethod ChangeClassNameExecute(ByRef qHandle As %Binary, oldName As %String, newName As %String, className As %String, ByRef tempName As %String, ByRef storagechanged As %Boolean) As %Status

ChangeClassNameClose

ClassMethod ChangeClassNameClose(ByRef qHandle As %Binary) As %Status [ PlaceAfter = ChangeClassNameExecute ]

ChangeClassNameFetch

ClassMethod ChangeClassNameFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ PlaceAfter = ChangeClassNameExecute ]

ChangeMemName

ClassMethod ChangeMemName(oldName As %String, newName As %String, memclassName As %String, className As %String, ByRef tempName As %String, ByRef storagechanged As %Boolean, sqlName = "", bNewSlot As %Boolean = 0) As %Status

The method ChangeMemName is used for changing a member name (either a property or a method). Arguments: oldName - existing member name, newName - new member name, memclassName - the class name of a property that is being changed, className - class to be processed, tempName - name of generated clas,s storagechanged - indicate whether storage was modified. In order to replace encounters of the member Z.A to Z.B in the class C, the call should be ChangeMemName(A, B, Z, C, .tempName, .storagechanged) As a result of this call a new class (with a name returned in tempName) will be created (but not compiled).

ChangeMemberNameExecute

ClassMethod ChangeMemberNameExecute(ByRef qHandle As %Binary, oldName As %String, newName As %String, memclassName As %String, className As %String, ByRef tempName As %String, ByRef storagechanged As %Boolean, sqlName As %String = "") As %Status

ChangeMemberNameClose

ClassMethod ChangeMemberNameClose(ByRef qHandle As %Binary) As %Status

ChangeMemberNameFetch

ClassMethod ChangeMemberNameFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status

GetMemberOrigin

ClassMethod GetMemberOrigin(memberName As %String, className As %String) As %String

RefactorStorageProperty

ClassMethod RefactorStorageProperty(pClassname As %String, pPropName As %String, pNewName As %String, pNewSlot As %Boolean = 0, ByRef pChanged As %Boolean, pSave As %Boolean = 1) As %String [ PublicList = (%ROWCOUNT, %ROWID, SQLCODE, %msg, pPropName, tStorageId, pClassname, tDSDId, tDataAttribute, tDataValueName, tPropDefName, tDVDId, tSPDId) ]

RefactorStorageProperty takes a classname, property name, and a new property name and changes the name of the property to the new name everywhere in the storage definition. The pNewSlot argument means if pNewSlot=1, don't overwrite the current property storage data location, but provide a new data slot with the new name. The pChanged argument is passed by reference and will be set to 1 if any change is made to any Storage defined for this class. It will be 0 if no changes are made. Returns %Status value

RenameSqlField

ClassMethod RenameSqlField(ByRef sql As %String, ByRef nuq As %String, ffn As %String, nuf As %String, sch As %String, tab As %String) As %Library.Status [ PublicList = mtc ]

In the SQL text array (by ref) .sql(1:sql)=line, find all occurrences, if any, of field ffn from the table specified by sch=$LB(schema) and tab=$LB(table), and replace them with nuf in the result array (by ref) .nuq(1:nuq)=line , returns %Status

RenameSqlFieldLbst

ClassMethod RenameSqlFieldLbst(ByRef sql As %String, ByRef nuq As %String, ffn As %String, nuf As %String, lbst As %String, ByRef pChanged As %Boolean, pClassname As %String = "") As %Library.Status [ PublicList = (backgrnd, err, mcurs, mtag, mtc, SQLCODE) ]

In the SQL text array (by ref) .sql(1:sql)=line, find all occurrences, if any, of field ffn from the tables specified by lbst=$LB(schema.table), and replace them with nuf in the result array (by ref) .nuq(1:nuq)=line , pChanged=0/1 (by ref) indicates whether anything changed, return %Status. pClassname is the class name the sql statement came from, if any, and its package name is used as the packages argument to comp^%qaqqt

RenameSqlTable

ClassMethod RenameSqlTable(ByRef sql As %String, ByRef nuq As %String, sntn As %String, nust As %String, ByRef pChanged As %Boolean, pClassname As %String = "") As %Library.Status [ PublicList = (backgrnd, err, mcurs, mtag, mtc, SQLCODE) ]

In the SQL text array (by ref) .sql(1:sql)=line, find all occurrences, if any, of [schema.]table sntn=schema.table, and replace them with the new schema.table nust in the result array (by ref) .nuq(1:nuq)=line , pChanged=0/1 (by ref) indicates whether anything changed, return %Status. pClassname is the class name the sql statement came from, if any, and its package name is used as the packages argument to comp^%qaqqt