【问题标题】:Dart Mirrors in JS: type '_ListConstructorSentinel' is not a subtype of type 'int'JS 中的 Dart 镜像:“_ListConstructorSentinel”类型不是“int”类型的子类型
【发布时间】:2015-08-14 06:44:33
【问题描述】:

以下代码在 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

我是在做一些不应该被允许的事情,还是这是一个错误?如果是bug,有什么办法可以解决吗?

提前致谢!

【问题讨论】:

  • dart2js 不完全支持镜像。这可能不受支持或存在错误。
  • 所以我尝试使用“Run as JavaScript”和“pub build”来运行它。而且我没有收到错误。你用的是哪个版本?
  • 我现在不在笔记本电脑上,但如果我没记错的话,我正在 OSX (Macbook Pro) 上运行 1.10 稳定通道。我还使用“pub run test -p chrome”来运行其余部分,所以我不确定这是否也在做一些奇怪的事情。
  • 看起来这是一个已知问题:github.com/dart-lang/sdk/issues/21927

标签: dart dart-mirrors dart2js dart-sdk


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-19
    • 2020-08-07
    • 2020-12-14
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多