Skip to content

Commit 05ab0ac

Browse files
author
emmanue1
committed
Fix 'byte' cast missing
1 parent 3826d47 commit 05ab0ac

File tree

9 files changed

+62
-50
lines changed

9 files changed

+62
-50
lines changed

src/main/java/org/jd/core/v1/model/javasyntax/AbstractJavaSyntaxVisitor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -392,8 +392,8 @@ public void visit(SuperExpression expression) {
392392
@Override
393393
public void visit(TernaryOperatorExpression expression) {
394394
expression.getCondition().accept(this);
395-
expression.getExpressionTrue().accept(this);
396-
expression.getExpressionFalse().accept(this);
395+
expression.getTrueExpression().accept(this);
396+
expression.getFalseExpression().accept(this);
397397
}
398398

399399
@Override

src/main/java/org/jd/core/v1/model/javasyntax/expression/BaseExpression.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ public interface BaseExpression extends Base<Expression> {
4646

4747
default Expression getCondition() { return NO_EXPRESSION; }
4848
default Expression getExpression() { return NO_EXPRESSION; }
49-
default Expression getExpressionTrue() { return NO_EXPRESSION; }
50-
default Expression getExpressionFalse() { return NO_EXPRESSION; }
49+
default Expression getTrueExpression() { return NO_EXPRESSION; }
50+
default Expression getFalseExpression() { return NO_EXPRESSION; }
5151
default Expression getIndex() { return NO_EXPRESSION; }
5252
default Expression getLeftExpression() { return NO_EXPRESSION; }
5353
default Expression getRightExpression() { return NO_EXPRESSION; }

src/main/java/org/jd/core/v1/model/javasyntax/expression/TernaryOperatorExpression.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,21 @@
1111

1212
public class TernaryOperatorExpression extends AbstractLineNumberTypeExpression {
1313
protected Expression condition;
14-
protected Expression expressionTrue;
15-
protected Expression expressionFalse;
14+
protected Expression trueExpression;
15+
protected Expression falseExpression;
1616

17-
public TernaryOperatorExpression(Type type, Expression condition, Expression expressionTrue, Expression expressionFalse) {
17+
public TernaryOperatorExpression(Type type, Expression condition, Expression trueExpression, Expression falseExpression) {
1818
super(type);
1919
this.condition = condition;
20-
this.expressionTrue = expressionTrue;
21-
this.expressionFalse = expressionFalse;
20+
this.trueExpression = trueExpression;
21+
this.falseExpression = falseExpression;
2222
}
2323

24-
public TernaryOperatorExpression(int lineNumber, Type type, Expression condition, Expression expressionTrue, Expression expressionFalse) {
24+
public TernaryOperatorExpression(int lineNumber, Type type, Expression condition, Expression trueExpression, Expression falseExpression) {
2525
super(lineNumber, type);
2626
this.condition = condition;
27-
this.expressionTrue = expressionTrue;
28-
this.expressionFalse = expressionFalse;
27+
this.trueExpression = trueExpression;
28+
this.falseExpression = falseExpression;
2929
}
3030

3131
public Expression getCondition() {
@@ -37,21 +37,21 @@ public void setCondition(Expression condition) {
3737
}
3838

3939
@Override
40-
public Expression getExpressionTrue() {
41-
return expressionTrue;
40+
public Expression getTrueExpression() {
41+
return trueExpression;
4242
}
4343

44-
public void setExpressionTrue(Expression expressionTrue) {
45-
this.expressionTrue = expressionTrue;
44+
public void setTrueExpression(Expression trueExpression) {
45+
this.trueExpression = trueExpression;
4646
}
4747

4848
@Override
49-
public Expression getExpressionFalse() {
50-
return expressionFalse;
49+
public Expression getFalseExpression() {
50+
return falseExpression;
5151
}
5252

53-
public void setExpressionFalse(Expression expressionFalse) {
54-
this.expressionFalse = expressionFalse;
53+
public void setFalseExpression(Expression falseExpression) {
54+
this.falseExpression = falseExpression;
5555
}
5656

5757
@Override
@@ -69,6 +69,6 @@ public void accept(ExpressionVisitor visitor) {
6969

7070
@Override
7171
public String toString() {
72-
return "TernaryOperatorExpression{" + condition + " ? " + expressionTrue + " : " + expressionFalse + "}";
72+
return "TernaryOperatorExpression{" + condition + " ? " + trueExpression + " : " + falseExpression + "}";
7373
}
7474
}

src/main/java/org/jd/core/v1/service/converter/classfiletojavasyntax/util/TypeParametersToTypeArgumentsBinder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -595,9 +595,9 @@ public void visit(TernaryOperatorExpression expression) {
595595
Type t = type;
596596

597597
expression.setType(t);
598-
expression.getExpressionTrue().accept(this);
598+
expression.getTrueExpression().accept(this);
599599
type = t;
600-
expression.getExpressionFalse().accept(this);
600+
expression.getFalseExpression().accept(this);
601601
}
602602

603603
@Override

src/main/java/org/jd/core/v1/service/converter/classfiletojavasyntax/visitor/AbstractUpdateExpressionVisitor.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -229,11 +229,11 @@ public void visit(SuperConstructorInvocationExpression expression) {
229229
@Override
230230
public void visit(TernaryOperatorExpression expression) {
231231
expression.setCondition(updateExpression(expression.getCondition()));
232-
expression.setExpressionTrue(updateExpression(expression.getExpressionTrue()));
233-
expression.setExpressionFalse(updateExpression(expression.getExpressionFalse()));
232+
expression.setTrueExpression(updateExpression(expression.getTrueExpression()));
233+
expression.setFalseExpression(updateExpression(expression.getFalseExpression()));
234234
expression.getCondition().accept(this);
235-
expression.getExpressionTrue().accept(this);
236-
expression.getExpressionFalse().accept(this);
235+
expression.getTrueExpression().accept(this);
236+
expression.getFalseExpression().accept(this);
237237
}
238238

239239
@Override

src/main/java/org/jd/core/v1/service/converter/classfiletojavasyntax/visitor/AddCastExpressionVisitor.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -324,8 +324,8 @@ public void visit(TernaryOperatorExpression expression) {
324324
Type expressionType = expression.getType();
325325

326326
expression.getCondition().accept(this);
327-
expression.setExpressionTrue(updateExpression(expressionType, expression.getExpressionTrue(), false, true));
328-
expression.setExpressionFalse(updateExpression(expressionType, expression.getExpressionFalse(), false, true));
327+
expression.setTrueExpression(updateExpression(expressionType, expression.getTrueExpression(), false, true));
328+
expression.setFalseExpression(updateExpression(expressionType, expression.getFalseExpression(), false, true));
329329
}
330330

331331
@SuppressWarnings("unchecked")
@@ -350,8 +350,20 @@ private Expression updateParameter(Type type, Expression expression, boolean for
350350
expression = updateExpression(type, expression, forceCast, unique);
351351

352352
if (type == TYPE_BYTE) {
353-
if (expression.isIntegerConstantExpression() || expression.isTernaryOperatorExpression()) {
353+
if (expression.isIntegerConstantExpression()) {
354354
expression = new CastExpression(TYPE_BYTE, expression);
355+
} else if (expression.isTernaryOperatorExpression()) {
356+
Expression exp = expression.getTrueExpression();
357+
358+
if (exp.isIntegerConstantExpression() || exp.isTernaryOperatorExpression()) {
359+
expression = new CastExpression(TYPE_BYTE, expression);
360+
} else {
361+
exp = expression.getFalseExpression();
362+
363+
if (exp.isIntegerConstantExpression() || exp.isTernaryOperatorExpression()) {
364+
expression = new CastExpression(TYPE_BYTE, expression);
365+
}
366+
}
355367
}
356368
}
357369

src/main/java/org/jd/core/v1/service/converter/classfiletojavasyntax/visitor/UpdateIntegerConstantTypeVisitor.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -246,26 +246,26 @@ public void visit(CastExpression expression) {
246246

247247
@Override
248248
public void visit(TernaryOperatorExpression expression) {
249-
Type trueType = expression.getExpressionTrue().getType();
250-
Type falseType = expression.getExpressionFalse().getType();
249+
Type trueType = expression.getTrueExpression().getType();
250+
Type falseType = expression.getFalseExpression().getType();
251251

252252
expression.setCondition(updateBooleanExpression(expression.getCondition()));
253253

254254
if (trueType.isPrimitiveType()) {
255255
if (falseType.isPrimitiveType()) {
256-
expression.setExpressionTrue(updateExpression(TYPE_INT, expression.getExpressionTrue()));
257-
expression.setExpressionFalse(updateExpression(TYPE_INT, expression.getExpressionFalse()));
256+
expression.setTrueExpression(updateExpression(TYPE_INT, expression.getTrueExpression()));
257+
expression.setFalseExpression(updateExpression(TYPE_INT, expression.getFalseExpression()));
258258
} else {
259-
expression.getExpressionTrue().accept(this);
260-
expression.setExpressionTrue(updateExpression(falseType, expression.getExpressionTrue()));
259+
expression.getTrueExpression().accept(this);
260+
expression.setTrueExpression(updateExpression(falseType, expression.getTrueExpression()));
261261
}
262262
} else {
263263
if (falseType.isPrimitiveType()) {
264-
expression.setExpressionFalse(updateExpression(trueType, expression.getExpressionFalse()));
265-
expression.getExpressionFalse().accept(this);
264+
expression.setFalseExpression(updateExpression(trueType, expression.getFalseExpression()));
265+
expression.getFalseExpression().accept(this);
266266
} else {
267-
expression.getExpressionTrue().accept(this);
268-
expression.getExpressionFalse().accept(this);
267+
expression.getTrueExpression().accept(this);
268+
expression.getFalseExpression().accept(this);
269269
}
270270
}
271271
}
@@ -442,8 +442,8 @@ protected Expression updateExpression(Type type, Expression expression) {
442442

443443
toe.setType(type);
444444
toe.setCondition(updateBooleanExpression(toe.getCondition()));
445-
toe.setExpressionTrue(updateExpression(type, toe.getExpressionTrue()));
446-
toe.setExpressionFalse(updateExpression(type, toe.getExpressionFalse()));
445+
toe.setTrueExpression(updateExpression(type, toe.getTrueExpression()));
446+
toe.setFalseExpression(updateExpression(type, toe.getFalseExpression()));
447447

448448
return expression;
449449
}
@@ -465,8 +465,8 @@ protected Expression updateBooleanExpression(Expression expression) {
465465

466466
toe.setType(TYPE_BOOLEAN);
467467
toe.setCondition(updateBooleanExpression(toe.getCondition()));
468-
toe.setExpressionTrue(updateBooleanExpression(toe.getExpressionTrue()));
469-
toe.setExpressionFalse(updateBooleanExpression(toe.getExpressionFalse()));
468+
toe.setTrueExpression(updateBooleanExpression(toe.getTrueExpression()));
469+
toe.setFalseExpression(updateBooleanExpression(toe.getFalseExpression()));
470470

471471
return expression;
472472
}

src/main/java/org/jd/core/v1/service/fragmenter/javasyntaxtojavafragment/visitor/ExpressionVisitor.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -592,9 +592,9 @@ public void visit(SuperExpression expression) {
592592
public void visit(TernaryOperatorExpression expression) {
593593
tokens.addLineNumberToken(expression.getCondition());
594594

595-
if (expression.getExpressionTrue().isBooleanExpression() && expression.getExpressionFalse().isBooleanExpression()) {
596-
BooleanExpression be1 = (BooleanExpression)expression.getExpressionTrue();
597-
BooleanExpression be2 = (BooleanExpression)expression.getExpressionFalse();
595+
if (expression.getTrueExpression().isBooleanExpression() && expression.getFalseExpression().isBooleanExpression()) {
596+
BooleanExpression be1 = (BooleanExpression)expression.getTrueExpression();
597+
BooleanExpression be2 = (BooleanExpression)expression.getFalseExpression();
598598

599599
if (be1.isTrue() && be2.isFalse()) {
600600
printTernaryOperatorExpression(expression.getCondition());
@@ -610,9 +610,9 @@ public void visit(TernaryOperatorExpression expression) {
610610

611611
printTernaryOperatorExpression(expression.getCondition());
612612
tokens.add(TextToken.SPACE_QUESTION_SPACE);
613-
printTernaryOperatorExpression(expression.getExpressionTrue());
613+
printTernaryOperatorExpression(expression.getTrueExpression());
614614
tokens.add(TextToken.SPACE_COLON_SPACE);
615-
printTernaryOperatorExpression(expression.getExpressionFalse());
615+
printTernaryOperatorExpression(expression.getFalseExpression());
616616
}
617617

618618
protected void printTernaryOperatorExpression(Expression expression) {

src/main/java/org/jd/core/v1/service/fragmenter/javasyntaxtojavafragment/visitor/SingleLineStatementVisitor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ protected void acceptListExpression(List<? extends Expression> list) {
303303
@Override public void visit(ParenthesesExpression expression) { expression.getExpression().accept(this); }
304304
@Override public void visit(PostOperatorExpression expression) { expression.getExpression().accept(this); }
305305
@Override public void visit(PreOperatorExpression expression) { expression.getExpression().accept(this); }
306-
@Override public void visit(TernaryOperatorExpression expression) { expression.getExpressionFalse().accept(this); }
306+
@Override public void visit(TernaryOperatorExpression expression) { expression.getFalseExpression().accept(this); }
307307

308308
@Override public void visit(BooleanExpression expression) { maxLineNumber = expression.getLineNumber(); }
309309
@Override public void visit(ConstructorReferenceExpression expression) { maxLineNumber = expression.getLineNumber(); }

0 commit comments

Comments
 (0)