public void CaseClosure() { int num5 = base.Edges().Count() - 1; for (int i = 0; i <= num5; i++) { NumberSet setB = new NumberSet(new int[0]); CharacterSet characters = base.Edges()[i].Characters; int num6 = characters.Count() - 1; for (int j = 0; j <= num6; j++) { int charCode = characters[j]; int num3 = UnicodeTable.ToLowerCase(charCode); if (charCode != num3) { setB.Add(new int[] { num3 }); } num3 = UnicodeTable.ToUpperCase(charCode); if (charCode != num3) { setB.Add(new int[] { num3 }); } } characters.UnionWith(setB); characters = null; } }
public NumberSet UsedDefinedSets() { NumberSet set = new NumberSet(new int[0]); if (this.m_Type == SetType.Name) { int num = BuilderApp.UserDefinedSets.ItemIndex(this.m_Text); if (num != -1) { set.Add(new int[] { num }); } } return(set); }
/* Function: GetFileIDsThatDefineClassID * Returns the file IDs that contain topics which define the class ID. */ public NumberSet GetFileIDsThatDefineClassID(int classID) { accessor.RequireAtLeast(Accessor.LockType.ReadOnly); NumberSet fileIDs = new NumberSet(); using (SQLite.Query query = accessor.Connection.Query("SELECT FileID FROM Topics WHERE ClassID=? AND DefinesClass=1", classID)) { while (query.Step()) { fileIDs.Add(query.IntColumn(0)); } } return(fileIDs); }
/* Function: GetInfoOnClassParents * Looks up the parents of the passed class ID and returns their class IDs and all the file IDs that define them. */ public void GetInfoOnClassParents(int classID, out NumberSet parentClassIDs, out NumberSet parentClassFileIDs) { accessor.RequireAtLeast(Accessor.LockType.ReadOnly); parentClassIDs = new NumberSet(); parentClassFileIDs = new NumberSet(); using (SQLite.Query query = accessor.Connection.Query("SELECT TargetClassID FROM Links " + "WHERE ClassID=? AND Type=? AND TargetClassID != 0", classID, (int)Links.LinkType.ClassParent)) { while (query.Step()) { parentClassIDs.Add(query.IntColumn(0)); } } if (parentClassIDs.IsEmpty) { return; } IDObjects.NumberSet remainingParentClassIDs = parentClassIDs; do { IDObjects.NumberSet temp; string queryText = "SELECT FileID FROM Topics WHERE " + Accessor.ColumnIsInNumberSetExpression("ClassID", remainingParentClassIDs, out temp) + " AND DefinesClass=1"; remainingParentClassIDs = temp; using (SQLite.Query query = accessor.Connection.Query(queryText)) { while (query.Step()) { parentClassFileIDs.Add(query.IntColumn(0)); } } }while (remainingParentClassIDs != null); }
public void MappingClosure(BuilderApp.CharMappingMode Mapping) { int num5 = base.Edges().Count() - 1; for (int i = 0; i <= num5; i++) { NumberSet setB = new NumberSet(new int[0]); CharacterSet characters = base.Edges()[i].Characters; int num6 = characters.Count() - 1; for (int j = 0; j <= num6; j++) { int charCode = characters[j]; int num3 = UnicodeTable.ToWin1252(charCode); if (charCode != num3) { setB.Add(new int[] { num3 }); } } characters.UnionWith(setB); characters = null; } }
/* Function: GetInfoOnClassParents * Looks up the parents of the passed class ID and returns their class IDs and all the file IDs that define them. */ public void GetInfoOnClassParents(int classID, out NumberSet parentClassIDs, out NumberSet parentClassFileIDs) { accessor.RequireAtLeast(Accessor.LockType.ReadOnly); parentClassIDs = new NumberSet(); parentClassFileIDs = new NumberSet(); using (SQLite.Query query = accessor.Connection.Query("SELECT TargetClassID FROM Links " + "WHERE ClassID=? AND Type=? AND TargetClassID != 0", classID, (int)Links.LinkType.ClassParent)) { while (query.Step()) { parentClassIDs.Add(query.IntColumn(0)); } } if (parentClassIDs.IsEmpty) { return; } StringBuilder queryText = new StringBuilder("SELECT FileID FROM Topics WHERE ("); List <object> queryParams = new List <object>(); Accessor.AppendWhereClause_ColumnIsInNumberSet("ClassID", parentClassIDs, queryText, queryParams); queryText.Append(") AND DefinesClass=1"); using (SQLite.Query query = accessor.Connection.Query(queryText.ToString(), queryParams.ToArray())) { while (query.Step()) { parentClassFileIDs.Add(query.IntColumn(0)); } } }