IDEA-127533 int field is displayed as char - show only reasonable ascii as chars
This commit is contained in:
@@ -133,7 +133,7 @@ public class ConstExprent extends Exprent {
|
|||||||
String ret = CHAR_ESCAPES.get(val);
|
String ret = CHAR_ESCAPES.get(val);
|
||||||
if (ret == null) {
|
if (ret == null) {
|
||||||
char c = (char)val.intValue();
|
char c = (char)val.intValue();
|
||||||
if (c >= 32 && c < 127 || !ascii && TextUtil.isPrintableUnicode(c)) {
|
if (isPrintableAscii(c) || !ascii && TextUtil.isPrintableUnicode(c)) {
|
||||||
ret = String.valueOf(c);
|
ret = String.valueOf(c);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -278,7 +278,7 @@ public class ConstExprent extends Exprent {
|
|||||||
// buffer.append("\\\'");
|
// buffer.append("\\\'");
|
||||||
// break;
|
// break;
|
||||||
default:
|
default:
|
||||||
if (c >= 32 && c < 127 || !ascii && TextUtil.isPrintableUnicode(c)) {
|
if (isPrintableAscii(c) || !ascii && TextUtil.isPrintableUnicode(c)) {
|
||||||
buffer.append(c);
|
buffer.append(c);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -371,7 +371,7 @@ public class ConstExprent extends Exprent {
|
|||||||
// BYTECHAR and SHORTCHAR => CHAR in the CHAR context
|
// BYTECHAR and SHORTCHAR => CHAR in the CHAR context
|
||||||
if (expectedType.equals(VarType.VARTYPE_CHAR) &&
|
if (expectedType.equals(VarType.VARTYPE_CHAR) &&
|
||||||
(constType.equals(VarType.VARTYPE_BYTECHAR) || constType.equals(VarType.VARTYPE_SHORTCHAR))) {
|
(constType.equals(VarType.VARTYPE_BYTECHAR) || constType.equals(VarType.VARTYPE_SHORTCHAR))) {
|
||||||
if (getIntValue() != 0) {
|
if (isPrintableAscii(getIntValue())) {
|
||||||
setConstType(VarType.VARTYPE_CHAR);
|
setConstType(VarType.VARTYPE_CHAR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -382,6 +382,11 @@ public class ConstExprent extends Exprent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean isPrintableAscii(int c) {
|
||||||
|
return c >= 32 && c < 127;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public Object getValue() {
|
public Object getValue() {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@@ -69,6 +69,17 @@ public class TestPrimitives {
|
|||||||
public void constructor() {
|
public void constructor() {
|
||||||
new Byte((byte)1);// 73
|
new Byte((byte)1);// 73
|
||||||
}// 74
|
}// 74
|
||||||
|
|
||||||
|
private boolean compare(char c) {
|
||||||
|
boolean res = c > -1;// 77
|
||||||
|
res = c > 0;// 78
|
||||||
|
res = c > 1;// 79
|
||||||
|
res = c > 'a';// 80
|
||||||
|
res = c > 'Z';// 81
|
||||||
|
res = c > 127;// 82
|
||||||
|
res = c > 255;// 83
|
||||||
|
return res;// 84
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class 'pkg/TestPrimitives' {
|
class 'pkg/TestPrimitives' {
|
||||||
@@ -210,6 +221,30 @@ class 'pkg/TestPrimitives' {
|
|||||||
4 69
|
4 69
|
||||||
9 70
|
9 70
|
||||||
}
|
}
|
||||||
|
|
||||||
|
method 'compare (C)Z' {
|
||||||
|
1 73
|
||||||
|
2 73
|
||||||
|
a 73
|
||||||
|
c 74
|
||||||
|
14 74
|
||||||
|
16 75
|
||||||
|
17 75
|
||||||
|
1f 75
|
||||||
|
21 76
|
||||||
|
23 76
|
||||||
|
2b 76
|
||||||
|
2d 77
|
||||||
|
2f 77
|
||||||
|
37 77
|
||||||
|
39 78
|
||||||
|
3b 78
|
||||||
|
43 78
|
||||||
|
45 79
|
||||||
|
48 79
|
||||||
|
50 79
|
||||||
|
52 80
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Lines mapping:
|
Lines mapping:
|
||||||
@@ -248,3 +283,11 @@ Lines mapping:
|
|||||||
70 <-> 67
|
70 <-> 67
|
||||||
73 <-> 70
|
73 <-> 70
|
||||||
74 <-> 71
|
74 <-> 71
|
||||||
|
77 <-> 74
|
||||||
|
78 <-> 75
|
||||||
|
79 <-> 76
|
||||||
|
80 <-> 77
|
||||||
|
81 <-> 78
|
||||||
|
82 <-> 79
|
||||||
|
83 <-> 80
|
||||||
|
84 <-> 81
|
||||||
|
|||||||
@@ -72,4 +72,15 @@ public class TestPrimitives {
|
|||||||
public void constructor() {
|
public void constructor() {
|
||||||
new Byte((byte)1);
|
new Byte((byte)1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean compare(char c) {
|
||||||
|
boolean res = (c > -1);
|
||||||
|
res = (c > 0);
|
||||||
|
res = (c > 1);
|
||||||
|
res = (c > 'a');
|
||||||
|
res = (c > 'Z');
|
||||||
|
res = (c > 127);
|
||||||
|
res = (c > 255);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user