Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(604)

Unified Diff: editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/ObjectSemanticProcessor.java

Issue 12604020: analyzer_experimental checkpoint and AnalysisContext example. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Don't mark Source as 'changed'. Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698