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

Unified Diff: pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart

Issue 2664493005: Fix getFieldType to handle metadata and workaround bad types for setters called via mirrors. (Closed)
Patch Set: Created 3 years, 11 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: pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart
diff --git a/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart b/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart
index 026eb9a1f38b127fa040afded605e91dc01eb982..e91d790839ffbc3f9cb6bedcf6afedbd65988763 100644
--- a/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart
+++ b/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart
@@ -217,7 +217,9 @@ getFieldType(type, name) => JS(
'''(() => {
let sigObj = $type[$_fieldSig];
if (sigObj === void 0) return void 0;
- return sigObj[$name];
+ let fieldType = sigObj[$name];
+ // workaround to handle metadata.
+ return (fieldType instanceof Array) ? fieldType[0] : fieldType;
})()''');
getSetterType(type, name) => JS(
« no previous file with comments | « pkg/dev_compiler/lib/sdk/ddc_sdk.sum ('k') | pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/operations.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698