Index: frog/leg/ssa/codegen.dart |
=================================================================== |
--- frog/leg/ssa/codegen.dart (revision 5070) |
+++ frog/leg/ssa/codegen.dart (working copy) |
@@ -934,7 +934,7 @@ |
} |
void visitIs(HIs node) { |
- ClassElement element = node.typeExpression; |
+ Element element = node.typeExpression; |
LibraryElement coreLibrary = compiler.coreLibrary; |
ClassElement objectClass = coreLibrary.find(const SourceString('Object')); |
HInstruction input = node.expression; |
@@ -976,7 +976,8 @@ |
checkArray(input, '==='); |
buffer.add(' || '); |
precedence = JSPrecedence.LOGICAL_OR_PRECEDENCE; |
- } else if (element.isNative() || isSupertypeOfNativeClass(element)) { |
+ } else if (element.isClass() && (element.dynamic.isNative() |
+ || isSupertypeOfNativeClass(element))) { |
buffer.add("("); |
endParen = true; |
} else { |