问题标签 [compilationunit]

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 投票
1 回答
167 浏览

java - python 文件是否应该始终包含一个类?

我已经用 python 编码了几个月了,我一直在想一些事情。我知道您可以在 .py 文件中包含类,但您不必这样做。我的问题是,始终将代码放在课堂上是一种好习惯,还是没有必要?

仅供参考:我用 Java 编码已经有几年了,所以我习惯于总是有一个“主”类和一个运行所有东西的主方法。

0 投票
1 回答
276 浏览

java - 使用 JDT 在独立 Java 应用程序中提取 IcompilationUnits

我正在编写一个普通的 Java 应用程序,并希望提取输入项目的所有 ICompilationUnit(这不是 Eclipse 开发的必需)。由于我没有开发 Eclipse 插件,因此无法使用以下代码提取 ICompilationUnit:

目前,我正在使用下面的代码来解析输入的 Java 文件。(str包含输入java文件的源代码)

但是,下面的代码返回 null,因为它不是从 Java 元素创建的。

问题:有没有办法在普通的 Java 应用程序中提取 ICompilationUnits?

0 投票
1 回答
68 浏览

java - 命名模块的未命名包中的非编译单元是否打开?

我在 JLS 中找不到任何提及,它只讨论了编译单元在未命名包中时如何放置在未命名模块中。

背景:许多库需要用户代码将具有特定名称的配置文件放入未命名(默认)包中。我想知道 JLS 是否保证ClassLoader::getSystemResourceAsStream在使用模块时可以找到这些资源。它似乎工作,但我想有一个来源。

这是有道理的,因为没有 for 的语法opens "",所以明确的唯一方法是打开模块本身。

0 投票
2 回答
69 浏览

c++ - cpp中的类定义但遇到错误:不完整类型的无效使用

我首先在 a.cpp 中定义了结构 A。

在标题中,我做了 A 的前向声明和 obj_ptr 的声明:

然后我想在另一个名为 b.cpp 的 cpp 文件中使用 obj,但编译器报告错误:无效使用不完整类型“struct A”

修复它的一种方法是将 A 的定义从 a.cpp 移动到 ah,但我想知道是否还有其他方法可以修复它?

0 投票
2 回答
49 浏览

java - Java 文件命名限制

实际上,我正在阅读 Java 语言规范,我发现了一个奇怪的句子,我无法得出结论。因为我不是以英语为母语的人。

当且仅当包存储在文件系统中(第 7.2 节)时,如果在由类型名称组成的名称下的文件中未找到类型,主机系统可能会选择强制限制它是编译时错误如果满足以下任一条件,则加上扩展名(例如 .java 或 .jav):
• 该类型由声明该类型的包的其他编译单元中的代码引用。
• 该类型被声明为公共的(因此可以从其他包中的代码访问)。

有人可以通过举例来解释以粗体标记的行吗?提前谢谢你。

0 投票
0 回答
56 浏览

java - 从 CompilationUnit 变量实例中获取子节点

使用 JavaParser 将特定函数添加到类中。为此,我需要遍历所有子节点。

但是使用eclipse我得到了错误。cu 不支持 getChildNodes(),其中 cu 是 CompilationUnit。我检查了japa.parser.ast.CompilationUnit,但没有 getChildNodes()。但是请在此页面中查看他们使用 cu.getChildNodes() 的代码片段。

我们什么时候可以使用它?需要改变什么?