%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