问题标签 [dart-analyzer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
149 浏览

dart - 带有 html 和引导程序包的 DART pubspec.yml 错误

引导程序版本 3.3.7 出现错误。当我将引导程序更新到 4.0.0 时,错误消失了,但我不想更新,因为有很多重大更改。

解决依赖关系... 包 html 没有匹配 >=0.12.2+1 <0.13.0 的版本源自: - 分析器 0.29.11 取决于版本 >=0.12.0 <1.14.0 - 角度 4.0.0+2取决于版本 >=0.12.0 <0.14.0 - dart_to_js_script_rewriter 1.0.1 取决于版本 ^0.12.2+1

这是我的 pubspec.yml 环境:sdk: '>=1.24.0 <2.0.0'

依赖项: angular: ^4.0.0+2 angular_forms: ^1.0.0 angular_router: ^1.0.2 angular_components: ^0.6.0 json_object: 任意 http: 任意 html: 任意 angular_dart_ui_bootstrap: '>=0.0.1' ng_bootstrap: ^0.8 .5 引导程序:“^3.3.7” dartson:“^0.2.7” browser_detect:“^1.0.4” 存档:“^1.0.33” 构建:“^0.11.0” 国际:“^0.15.6”流变压器:“^0.3.0” rxdart:“^0.10.2”

dev_dependencies:浏览器:^0.10.0 dart_to_js_script_rewriter:^1.0.1 测试:^0.12.0 angular_test:^1.0.0

变形金刚:- dartson - 角度:entry_points:- web/main.dart - test/**_test.dart

  • test/pub_serve: $include: test/**_test.dart

  • dart_to_js_script_rewriter

0 投票
1 回答
356 浏览

dart - Dart Analyzer:查找类或其后代的实例

我正在使用该build包获取.dart文件并查找某个类或其子类的定义。也可以ClassElement用于子类吗?

我只希望特定类的单个定义在项目的一个文件中,但没有理由客户不能子类化并疯狂。

0 投票
4 回答
2723 浏览

dart - 在 vscode 中无法启动 Dart Analyzer

我刚刚更新了 Dart 版本,然后我的 vscode 每次都警告我,“Dart Analyzer 无法启动”。

在此处输入图像描述

我该如何解决这个问题?

谢谢

0 投票
1 回答
27 浏览

dart - 分析器查找对潜在空值的未经检查的访问

我试图找出在 Dart 中通过编译器/分析器支持避免未经检查地访问 null 的状态是什么。

在完成了几年的 TypeScript 之后,他们严格的 default-non-null 是在使代码更安全方面向前迈出的一大步。比起 Scala 的 Option-semantics,我更喜欢它。

是否有一个分析器选项能够通过流量分析追踪(所有)潜在的空访问?

例如,以下代码应该会失败:

它应该报告如下:由于在第 6 行中传递了 null,因此第 2 行中未检查的 null 访问。

因此,作为开发人员,我可以决定修复第 1 行或第 2 行。

0 投票
0 回答
346 浏览

flutter - 颤振飞镖分析仪无法启动

VSCode 给我这个错误,我的飞镖分析器无法启动。几天前一切正常。我试图重新启动它,但无济于事,我无法运行我的项目。关于如何解决这个问题的任何工作?
在此处输入图像描述

日志输出

在此处查看完整日志。

0 投票
1 回答
314 浏览

dart - 如何在 Dart Analyzer / source-gen 中从某个元素获取 AstNode?

source_gen用来通过 Dart 解析一些 Dart 文件analyzer

我正在扩展GeneratorForAnnotation<>和覆盖方法 FutureOr<String> generateForAnnotatedElement(Element element, ConstantReader annotation, BuildStep buildStep)。这个方法给了我一个基本元素,我导航它直到找到其他元素,比如 a MethodElement

一旦我掌握了这个MethodElement,我想详细分析方法的块。我想要这样的东西:

更详细地说:

不幸的是,computeNode已弃用。如果我尝试调用它,我会得到:

我的问题:我怎样才能得到AstNode

0 投票
2 回答
5137 浏览

dart - 如何使用 dartanalyzer 忽略文件?

我想忽略 bin/lib/ 和 test/ 中所有以 .g.dart、.inject.dart、.inject.summary 结尾的文件

忽略文件的语法是什么dartanalyzer?我尝试将此部分添加到我的 analysis_options.yaml 文件中:

到我的 analysis_options.yaml ,当我dartanalyzer在我的项目上运行时,它没有考虑到这一点。我还尝试使用dartanalyzer --options analysis_options.yaml以确保它会在没有运气的情况下使用这些选项。

我发现可以使用dartanalyzercli 工具的唯一语法是:

但 IntelliJ 说这是一个错误(Undefined alias。)

如果我使用这种语法:

IntelliJ 中嵌入的分析器会正确过滤这些文件,但dartanalyzercli 工具不会。

有什么方法可以同时使用 IntelliJ 和dartanalyzerCLI 工具?

笔记:

我在用着

0 投票
1 回答
107 浏览

dart - NNBD:String 和 Null 的最小上限

在为 Dart Analyzer 中的某些问题打补丁时,我需要了解 Null 本身是否被视为可空类型。

目前,Dart 的类型代数为 String 和 Null 计算的最小上界是 String。

但是,在我看来,String 和 Null 的类型联合是可以为空的 String。

有补丁的票:https ://github.com/dart-lang/sdk/issues/38585注意补丁还是有把T扩大到T的bug?如果闭包同时返回 T 和 null。

奖金问题(票https://github.com/dart-lang/sdk/issues/38623):Null 本身是可以为空的类型,应该以'?'为后缀吗?

我的观点是矛盾的证明(LUB 是最小上限函数):

  • 假设 Null 不可为空。
  • 这意味着 Null 和 Null?是不同的类型。
  • LUB(T, Null) = T?,即结合 T 和 Null 将 T 扩大到 T?
  • 因此,LUB(Null, Null) = Null?
  • 这违反了 LUB 的自反性,这意味着 LUN(Null, Null) = Null
  • 因此假设是错误的。
0 投票
1 回答
206 浏览

dart - 分析器在 Visual Studio Code 中不起作用……是吗?

在 Visual Studio Code 中,在调用 Dart 函数时省略 @required 参数似乎不会出现错误。我必须做些什么才能让分析仪工作吗?还是错误被标记而我只是没有看到它们?任何帮助,将不胜感激 ...

0 投票
1 回答
19 浏览

dart - 已启用的实验停止被分析器拾取

我正在运行 Dart 2.8.0-dev.18.0 并且我想使用不可为空的类型。这就是为什么我将以下内容添加到analysis_options.yaml

一切正常,直到我再次打开电脑时它神秘地停止工作。无论我现在做什么,我都会收到一条消息说This requires the 'non-nullable' experiment to be enabled.

这是一个纯 Dart 应用程序。

此外,当我打开分析服务器诊断时,我看到“上下文”选项卡中启用了“不可为空”功能。