private static void SwitchUsageInAssignment(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var opAssignment = (Assignment)op; if (usageVariable.Equals(opAssignment.AssignedTo)) { opAssignment.AssignedTo = (LocalVariable)definitionIdentifier; } if (usageVariable.Equals(opAssignment.Right)) { opAssignment.Right = definitionIdentifier; } }
private static void SwitchUsageInBranchOperator(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var opBranchOperator = (BranchOperator)op; if (usageVariable.Equals(opBranchOperator.CompareValue)) { opBranchOperator.CompareValue = definitionIdentifier; } if (usageVariable.Equals(opBranchOperator.SecondValue)) { opBranchOperator.SecondValue = definitionIdentifier; } }
private static void SwitchUsageInUnaryOperator(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var opUnaryOperator = (UnaryOperator)op; if (usageVariable.Equals(opUnaryOperator.Left)) { opUnaryOperator.Left = definitionIdentifier; } if (usageVariable.Equals(opUnaryOperator.AssignedTo)) { opUnaryOperator.AssignedTo = (LocalVariable)definitionIdentifier; } }
private static void SwitchUsageInSetField(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var opSetField = (SetField)op; if (usageVariable.Equals(opSetField.Instance)) { opSetField.Instance = definitionIdentifier; } if (usageVariable.Equals(opSetField.Right)) { opSetField.Right = definitionIdentifier; } }
private static void SwitchUsageInNewArray(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var assign = (NewArrayObject)op; if (usageVariable.Equals(assign.AssignedTo)) { assign.AssignedTo = (LocalVariable)definitionIdentifier; } if (usageVariable.Equals(assign.ArrayLength)) { assign.ArrayLength = definitionIdentifier; } }
private static void SwitchUsageInFieldRefAssignment(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var returnValue = op.Get <FieldRefAssignment>(); if (usageVariable.Equals(returnValue.Right)) { returnValue.Right = (LocalVariable)definitionIdentifier; } if (usageVariable.Equals(returnValue.Left)) { returnValue.Left = (LocalVariable)definitionIdentifier; } }
private static void SwitchUsageUnbox(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var unbox = (Unboxing)op; if (usageVariable.Equals(unbox.AssignedTo)) { unbox.AssignedTo = (LocalVariable)definitionIdentifier; } if (usageVariable.Equals(unbox.Right)) { unbox.Right = definitionIdentifier; } }
private static void SwichUsageInGetField(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var getFieldData = (GetField)op; if (!(definitionIdentifier is LocalVariable)) { return; } if (usageVariable.Equals(getFieldData.Instance)) { getFieldData.Instance = (LocalVariable)definitionIdentifier; } if (usageVariable.Equals(getFieldData.AssignedTo)) { getFieldData.AssignedTo = (LocalVariable)definitionIdentifier; } }
private static void SwitchUsageInSetArrayItem(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var setArrayData = (SetArrayElement)op; if (usageVariable.Equals(setArrayData.Instance)) { setArrayData.Instance = (LocalVariable)definitionIdentifier; } if (usageVariable.Equals(setArrayData.Index)) { setArrayData.Index = definitionIdentifier; } if (usageVariable.Equals(setArrayData.Right)) { setArrayData.Right = definitionIdentifier; } }
private static void SwitchUsageInGetArrayItem(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var getArrayData = (GetArrayElement)op; if (usageVariable.Equals(getArrayData.Instance)) { getArrayData.Instance = (LocalVariable)definitionIdentifier; } if (usageVariable.Equals(getArrayData.Index)) { getArrayData.Index = definitionIdentifier; } if (usageVariable.Equals(getArrayData.AssignedTo)) { getArrayData.AssignedTo = (LocalVariable)definitionIdentifier; } }
private static void SwitchUsageInReturn(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var returnValue = op.Get <Return>(); if (usageVariable.Equals(returnValue.Returning)) { returnValue.Returning = definitionIdentifier; } }
static void SwitchUsageInSetStaticField(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var opSetField = (Assignment)op; if (usageVariable.Equals(opSetField.Right)) { opSetField.Right = definitionIdentifier; } }
private static void SwitchUsageInSetField(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var opSetField = (Assignment)op.Value; var setFieldData = (FieldSetter)opSetField.AssignedTo; if (usageVariable.Equals(setFieldData.Instance)) { setFieldData.Instance = definitionIdentifier; } if (usageVariable.Equals(opSetField.Right)) { opSetField.Right = definitionIdentifier; } if (usageVariable.Equals(opSetField.AssignedTo)) { opSetField.AssignedTo = (LocalVariable)definitionIdentifier; } }
private static void SwitchUsageInSetArrayItem(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var opSetArrayItem = (Assignment)op.Value; var setArrayData = (ArrayVariable)opSetArrayItem.AssignedTo; if (usageVariable.Equals(setArrayData.Parent)) { setArrayData.Parent = (LocalVariable)definitionIdentifier; } if (usageVariable.Equals(setArrayData.Index)) { setArrayData.Index = definitionIdentifier; } if (usageVariable.Equals(opSetArrayItem.Right)) { opSetArrayItem.Right = definitionIdentifier; } }
private static void SwitchUsageInCall(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var methodData = op.Get <CallMethodStatic>(); for (var index = 0; index < methodData.Parameters.Count; index++) { var identifierValue = methodData.Parameters[index]; if (usageVariable.Equals(identifierValue)) { methodData.Parameters[index] = definitionIdentifier; } } if (methodData.Result != null && definitionIdentifier is LocalVariable) { if (usageVariable.Equals(methodData.Result)) { methodData.Result = (LocalVariable)definitionIdentifier; } } }
private static void SwitchUsageInCall(LocalOperation op, LocalVariable usageVariable, IdentifierValue definitionIdentifier) { var methodData = op.Get <MethodData>(); for (var index = 0; index < methodData.Parameters.Count; index++) { var identifierValue = methodData.Parameters[index]; if (usageVariable.Equals(identifierValue)) { methodData.Parameters[index] = definitionIdentifier; } } }