问题标签 [fully-qualified-naming]
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.
rust - 我如何才能限定或保持更高的优先级,而不是由特征提供的方法?
我有一个看起来像这样的 Add 实现,
该函数myadd
返回一个结果;这实际上工作正常。问题是在现实世界中,该方法是Sequence.add()
在我希望 Add 调用的 Sequence 上实现的。如果我重命名myadd
为add
这样,
然后它不再编译我得到“错误[E0599]:没有为当前范围内unwrap
的结构找到sequence::Sequence
名为的方法” ,它告诉我add
它的发现没有返回结果,它返回的序列不是我想要的。如何在 add 调用中限定特征?
java - 是否可以静态区分完全限定名称和嵌套类类型?
我正在使用 JavaParser(开源)来解析以下代码。
在名为的 methodDeclaration 节点下ref
,我得到参数节点层次结构如下:
我需要找到每个参数的完全限定名称。所以myInnerClass
我会得到testfiles.simple.before.InnerClassSample$MyInnerClass
,因为list
它会java.util.List
。
我知道通常人们会编写List<Long>
并放置一个 import 语句而不是write java.util.List<Long>
,但是,我需要处理将 FQN 写入参数的情况。
现在我的问题是,有没有一种方法可以静态区分这种解析树是嵌套类的类型,还是仅仅是类的完全限定名?
我曾考虑通过检查 SimpleName 是否以小写字母开头(这意味着它是一个包名称)来进行区分,但这只是一个约定,因此我们不能安全地假设开发人员总是以小写字母开头的包名称字母,或以大写字母开头的类名,因此我认为这不是一个好方法。
任何关于此事的想法或见解将不胜感激。