JS中的Dart镜像:类型' _ListConstructorSentinel'不是类型' int'的子类型。

时间:2015-05-31 21:17:15

标签: dart dart-mirrors dart2js dart-sdk

以下代码在VM上执行正常,但在

时失败

"' _ListConstructorSentinel'不是' int'"

类型的子类型

通过Dart2JS转换为javascript。我正在使用" pub run test -p chrome"运行代码。

import "dart:mirrors";

main() {
  TypeMirror tm = new TypeToken<List<String>>().typeMirror;
  (tm as ClassMirror).newInstance(const Symbol(""), []);
}

class TypeToken<T> {
  TypeMirror get typeMirror => reflectType(T);
}

堆栈跟踪:

type '_ListConstructorSentinel' is not a subtype of type 'int'
  error.dart.browser_test.dart.js 4385:15    dart.wrapException
  error.dart.browser_test.dart.js 4604:13    dart.intTypeCheck
  error.dart.browser_test.dart.js 36709:11   Isolate.dart.List.static.List_List.H.computeSignature.func
  error.dart.browser_test.dart.js 13292:31   JsMethodMirror.dart.JsMethodMirror._invoke$2
  error.dart.browser_test.dart.js 12724:21   JsClassMirror.dart.JsClassMirror._getInvokedInstance$3
  error.dart.browser_test.dart.js 12054:30   JsTypeBoundClassMirror.<fn>
  error.dart.browser_test.dart.js 12058:19   JsTypeBoundClassMirror.dart.JsTypeBoundClassMirror.newInstance$3
  error.dart.browser_test.dart.js 85680:232  dart.main0
  error.dart.browser_test.dart.js 15329:32   dart.Future.static.Future_Future$sync.H.computeSignature.func
  error.dart.browser_test.dart.js 97668:16   IframeListener_start_closure.dart.IframeListener_start_closure.call$0

我做了一些不应该被允许的事情,或者这是一个错误?如果它是一个错误,有没有办法解决它?

提前致谢!

1 个答案:

答案 0 :(得分:0)

看起来这是一个众所周知的问题:github.com/dart-lang/sdk/issues/21927