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

Unified Diff: lib/src/utils.dart

Issue 1055923002: Don't call dinvoke on Object methods (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Refactor dynamic target logic Created 5 years, 8 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: lib/src/utils.dart
diff --git a/lib/src/utils.dart b/lib/src/utils.dart
index 58989f874e64f2a64df8cbade30f525833d4b6ac..ea28a6df6b4c751a9ebb0d332718ab6da4c913d7 100644
--- a/lib/src/utils.dart
+++ b/lib/src/utils.dart
@@ -16,7 +16,9 @@ import 'package:analyzer/src/generated/ast.dart'
CompilationUnit,
Identifier,
AnnotatedNode,
- AstNode;
+ AstNode,
+ Expression,
+ SimpleIdentifier;
import 'package:analyzer/src/generated/engine.dart'
show ParseDartTask, AnalysisContext;
import 'package:analyzer/src/generated/source.dart' show Source;
@@ -201,6 +203,12 @@ _MemberTypeGetter _memberTypeGetter(ExecutableElement member) {
return f;
}
+bool isDynamicTarget(Expression target) {
+ return target != null &&
+ !(target is SimpleIdentifier && target.staticElement is PrefixElement) &&
+ target.staticType.isDynamic;
+}
+
/// Returns an ANSII color escape sequence corresponding to [levelName]. Colors
/// are defined for: severe, error, warning, or info. Returns null if the level
/// name is not recognized.

Powered by Google App Engine
This is Rietveld 408576698