| Index: editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/ObjectSemanticProcessor.java
|
| diff --git a/editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/ObjectSemanticProcessor.java b/editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/ObjectSemanticProcessor.java
|
| index ba4894521ebc2c16d1b3892e7ea554f63463cccd..b1f43ae683a09e2e1ea994fd80eda90a34771df8 100644
|
| --- a/editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/ObjectSemanticProcessor.java
|
| +++ b/editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/ObjectSemanticProcessor.java
|
| @@ -130,7 +130,21 @@ public class ObjectSemanticProcessor extends SemanticProcessor {
|
| return null;
|
| }
|
| }
|
| - return super.visitBinaryExpression(node);
|
| + // super
|
| + super.visitBinaryExpression(node);
|
| + // in Java "true | false" will compute both operands
|
| + if (node.getOperator().getType() == TokenType.BAR) {
|
| + Expression leftOperand = node.getLeftOperand();
|
| + ITypeBinding argTypeBinding = context.getNodeTypeBinding(leftOperand);
|
| + if (JavaUtils.isTypeNamed(argTypeBinding, "boolean")) {
|
| + replaceNode(
|
| + node,
|
| + methodInvocation("javaBooleanOr", leftOperand, node.getRightOperand()));
|
| + return null;
|
| + }
|
| + }
|
| + // done
|
| + return null;
|
| }
|
|
|
| @Override
|
|
|