Browse Source

Rename unknown bool variables to "flag".

pull/1/head^2
David Srbecký 18 years ago
parent
commit
15e2cd828a
  1. 102
      bin/Debug/output.cs
  2. 10
      src/AstMetodBodyBuilder.cs

102
bin/Debug/output.cs

@ -136,13 +136,13 @@ namespace Reversi
whiteFrontierCount = 0; whiteFrontierCount = 0;
whiteSafeCount = 0; whiteSafeCount = 0;
blackSafeCount = 0; blackSafeCount = 0;
for (bool V_2 = true; V_2;) { for (bool flag = true; flag;) {
V_2 = false; flag = false;
for (int i = 0; i < 8; i++) { for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) { for (int j = 0; j < 8; j++) {
if (squares[i, j] != Empty && !safeDiscs[i, j] && !IsOutflankable(i, j)) { if (squares[i, j] != Empty && !safeDiscs[i, j] && !IsOutflankable(i, j)) {
safeDiscs[i, j] = 1; safeDiscs[i, j] = 1;
V_2 = true; flag = true;
} }
} }
} }
@ -151,12 +151,12 @@ namespace Reversi
for (; i < 8; i++) { for (; i < 8; i++) {
j = 0; j = 0;
for (; j < 8; j++) { for (; j < 8; j++) {
bool V_5 = false; bool flag2 = false;
if (squares[i, j] != Empty) { if (squares[i, j] != Empty) {
for (int k = -1; k <= 1; k++) { for (int k = -1; k <= 1; k++) {
for (int l = -1; l <= 1; l++) { for (int l = -1; l <= 1; l++) {
if ((k || l) && i + k >= 0 && i + k < 8 && j + l >= 0 && j + l < 8 && squares[(i + k), (j + l)] == Empty) { if ((k || l) && i + k >= 0 && i + k < 8 && j + l >= 0 && j + l < 8 && squares[(i + k), (j + l)] == Empty) {
V_5 = true; flag2 = true;
} }
} }
} }
@ -166,7 +166,7 @@ namespace Reversi
int expr123 = expr122.blackCount; int expr123 = expr122.blackCount;
int expr129 = expr123 + 1; int expr129 = expr123 + 1;
expr122.blackCount = expr129; expr122.blackCount = expr129;
if (V_5) { if (flag2) {
IL__dup(this); IL__dup(this);
int expr135 = expr134.blackFrontierCount; int expr135 = expr134.blackFrontierCount;
int expr13B = expr135 + 1; int expr13B = expr135 + 1;
@ -184,7 +184,7 @@ namespace Reversi
int expr176 = expr175.whiteCount; int expr176 = expr175.whiteCount;
int expr17C = expr176 + 1; int expr17C = expr176 + 1;
expr175.whiteCount = expr17C; expr175.whiteCount = expr17C;
if (V_5) { if (flag2) {
IL__dup(this); IL__dup(this);
int expr188 = expr187.whiteFrontierCount; int expr188 = expr187.whiteFrontierCount;
int expr18E = expr188 + 1; int expr18E = expr188 + 1;
@ -213,118 +213,118 @@ namespace Reversi
private bool IsOutflankable(int row, int col) private bool IsOutflankable(int row, int col)
{ {
int i = squares[row, col]; int i = squares[row, col];
bool V_3 = false; bool flag = false;
bool V_5 = false; bool flag3 = false;
bool V_4 = false; bool flag2 = false;
bool V_6 = false; bool flag4 = false;
for (int k = 0; k < col && !V_3; k++) { for (int k = 0; k < col && !flag; k++) {
if (squares[row, k] == Empty) { if (squares[row, k] == Empty) {
V_3 = true; flag = true;
} else { } else {
if (squares[row, k] != i || !safeDiscs[row, k]) { if (squares[row, k] != i || !safeDiscs[row, k]) {
V_5 = true; flag3 = true;
} }
} }
} }
k = col + 1; k = col + 1;
for (; k < 8 && !V_4; k++) { for (; k < 8 && !flag2; k++) {
if (squares[row, k] == Empty) { if (squares[row, k] == Empty) {
V_4 = true; flag2 = true;
} else { } else {
if (squares[row, k] != i || !safeDiscs[row, k]) { if (squares[row, k] != i || !safeDiscs[row, k]) {
V_6 = true; flag4 = true;
} }
} }
} }
if (V_3 && V_4 || V_3 && V_6 || V_5 && V_4) { if (flag && flag2 || flag && flag4 || flag3 && flag2) {
return true; return true;
} }
V_3 = false; flag = false;
V_4 = false; flag2 = false;
V_5 = false; flag3 = false;
V_6 = false; flag4 = false;
for (int j = 0; j < row && !V_3; j++) { for (int j = 0; j < row && !flag; j++) {
if (squares[j, col] == Empty) { if (squares[j, col] == Empty) {
V_3 = true; flag = true;
} else { } else {
if (squares[j, col] != i || !safeDiscs[j, col]) { if (squares[j, col] != i || !safeDiscs[j, col]) {
V_5 = true; flag3 = true;
} }
} }
} }
j = row + 1; j = row + 1;
for (; j < 8 && !V_4; j++) { for (; j < 8 && !flag2; j++) {
if (squares[j, col] == Empty) { if (squares[j, col] == Empty) {
V_4 = true; flag2 = true;
} else { } else {
if (squares[j, col] != i || !safeDiscs[j, col]) { if (squares[j, col] != i || !safeDiscs[j, col]) {
V_6 = true; flag4 = true;
} }
} }
} }
if (V_3 && V_4 || V_3 && V_6 || V_5 && V_4) { if (flag && flag2 || flag && flag4 || flag3 && flag2) {
return true; return true;
} }
V_3 = false; flag = false;
V_4 = false; flag2 = false;
V_5 = false; flag3 = false;
V_6 = false; flag4 = false;
j = row - 1; j = row - 1;
k = col - 1; k = col - 1;
for (; j >= 0 && k >= 0 && !V_3; k--) { for (; j >= 0 && k >= 0 && !flag; k--) {
if (squares[j, k] == Empty) { if (squares[j, k] == Empty) {
V_3 = true; flag = true;
} else { } else {
if (squares[j, k] != i || !safeDiscs[j, k]) { if (squares[j, k] != i || !safeDiscs[j, k]) {
V_5 = true; flag3 = true;
} }
} }
j--; j--;
} }
j = row + 1; j = row + 1;
k = col + 1; k = col + 1;
for (; j < 8 && k < 8 && !V_4; k++) { for (; j < 8 && k < 8 && !flag2; k++) {
if (squares[j, k] == Empty) { if (squares[j, k] == Empty) {
V_4 = true; flag2 = true;
} else { } else {
if (squares[j, k] != i || !safeDiscs[j, k]) { if (squares[j, k] != i || !safeDiscs[j, k]) {
V_6 = true; flag4 = true;
} }
} }
j++; j++;
} }
if (V_3 && V_4 || V_3 && V_6 || V_5 && V_4) { if (flag && flag2 || flag && flag4 || flag3 && flag2) {
return true; return true;
} }
V_3 = false; flag = false;
V_4 = false; flag2 = false;
V_5 = false; flag3 = false;
V_6 = false; flag4 = false;
j = row - 1; j = row - 1;
k = col + 1; k = col + 1;
for (; j >= 0 && k < 8 && !V_3; k++) { for (; j >= 0 && k < 8 && !flag; k++) {
if (squares[j, k] == Empty) { if (squares[j, k] == Empty) {
V_3 = true; flag = true;
} else { } else {
if (squares[j, k] != i || !safeDiscs[j, k]) { if (squares[j, k] != i || !safeDiscs[j, k]) {
V_5 = true; flag3 = true;
} }
} }
j--; j--;
} }
j = row + 1; j = row + 1;
k = col - 1; k = col - 1;
for (; j < 8 && k >= 0 && !V_4; k--) { for (; j < 8 && k >= 0 && !flag2; k--) {
if (squares[j, k] == Empty) { if (squares[j, k] == Empty) {
V_4 = true; flag2 = true;
} else { } else {
if (squares[j, k] != i || !safeDiscs[j, k]) { if (squares[j, k] != i || !safeDiscs[j, k]) {
V_6 = true; flag4 = true;
} }
} }
j++; j++;
} }
if (V_3 && V_4 || V_3 && V_6 || V_5 && V_4) { if (flag && flag2 || flag && flag4 || flag3 && flag2) {
return true; return true;
} }
return false; return false;

10
src/AstMetodBodyBuilder.cs

@ -45,7 +45,7 @@ namespace Decompiler
} }
List<string> intNames = new List<string>(new string[] {"i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t"}); List<string> intNames = new List<string>(new string[] {"i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t"});
int boolFlagId = 1;
foreach(VariableDefinition varDef in methodDef.Body.Variables) { foreach(VariableDefinition varDef in methodDef.Body.Variables) {
if (varDef.VariableType.FullName == Cecil.Constants.Int32 && if (varDef.VariableType.FullName == Cecil.Constants.Int32 &&
varDef.Name.StartsWith("V_") && varDef.Name.StartsWith("V_") &&
@ -53,6 +53,14 @@ namespace Decompiler
{ {
varDef.Name = intNames[0]; varDef.Name = intNames[0];
intNames.RemoveAt(0); intNames.RemoveAt(0);
} else if (varDef.VariableType.FullName == Cecil.Constants.Boolean &&
varDef.Name.StartsWith("V_")) {
if (boolFlagId == 1) {
varDef.Name = "flag";
} else {
varDef.Name = "flag" + boolFlagId;
}
boolFlagId++;
} }
localVarTypes[varDef.Name] = varDef.VariableType; localVarTypes[varDef.Name] = varDef.VariableType;
localVarDefined[varDef.Name] = false; localVarDefined[varDef.Name] = false;

Loading…
Cancel
Save