【问题标题】:Dart Editor stops highlighting errors when using "part of"Dart 编辑器在使用“part of”时停止突出显示错误
【发布时间】:2013-12-27 15:50:20
【问题描述】:

我不确定这是 Dart 编辑器中的错误,还是我使用 part of 的方式有问题,但考虑到以下项目结构:

myapp/
    pubspec.yaml
    pubspec.lock
    asset/
    packages/
    build/
    web/
        Fizz.dart
        Buzz.dart

Fizz.dart 在哪里:

library fizz;

void herp() {
    print("Herp!");
}

Buzz.dart 在哪里:

library buzz;

void derp() {
    String x = "Derp!";
    print(x);
}

如果我将Buzz.dart 更改为故意出现编译器错误:

library buzz;

void derp() {
    djedString x = "Derp!";  // Produces "Undefined class 'djedString'" error
    print(x);
}

然后 Dart Editor 用红线在djedString 下划线并给出上述编译错误:

未定义的类'djedString'

但如果我随后将 Buzz.dart 更改为 part of fizz 库:

part of fizz;

void derp() {
    djedString x = "Derp!";  // Perfectly fine! No errors!
    print(x);
}

Dart Editor 然后删除编译器错误,事实上,完全停止寻找警告/错误(在文件内)。

这是一个错误还是我没有正确使用part of

【问题讨论】:

    标签: compiler-errors dart syntax-highlighting dart-editor


    【解决方案1】:

    part of aaa; 必须与part "xxx"; 一起使用。

    a.dart

    library a;
    
    part 'a1.dart';
    

    a1.dart

    part of a;
    
    // content of the part
    

    【讨论】:

    • 你必须将它双向链接?!?!?那是疯狂!这真的烦人...我无法想象它实际上是编译/链接所必需的...ugh。不过,谢谢,您的建议“修复”了它!如果允许,我会在几分钟后给你一张绿色支票。
    • 双链接的更多解释可以看this discussion on the misc dart group
    猜你喜欢
    • 2015-03-02
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多