Code2Graph
Code2Graph copied to clipboard
bug: project.rename返回的rename pair中部分oldURI实际并不存在
遇到一个挺迷的bug,推测与auto有关
如上图,第一条用红框框出的uri实际并不存在于uriTree,它的真身应该是第二个红框内的uri。 输入的oldURI和newURI为:
def://app/src/main/res/layout/toolbar.xml[language=FILE]//LinearLayout/android.support.v7.widget.Toolbar/android:id[language=XML]//@+id\\/toolbar[language=ANY]
def://app/src/main/res/layout/toolbar.xml[language=FILE]//LinearLayout/android.support.v7.widget.Toolbar/android:id[language=XML]//@+id\\/tool_bar[language=ANY]
这种情况发生在我使用如下的rule时:
r-id:
use:
lang: JAVA
file: '(&javaFile).java'
identifier: R.id.(name)
def:
lang: XML
file: (&layoutName).xml
identifier: android:id
inline:
identifier: '@+id\/(name)'
如果给name加上modifier就不会出现:
r-id:
use:
lang: JAVA
file: '(&javaFile).java'
identifier: R.id.(name:snake)
def:
lang: XML
file: (&layoutName).xml
identifier: android:id
inline:
identifier: '@+id\/(name:snake)'
如果对应的 XML 部分是 tool_bar 的话,按照现有的 auto 逻辑应该无法匹配才对?(实测如此)
如果两个 oldUri 一致的话,说明这个 uri 被 rename 了两次,本身也是一件不正常的事情。
@shigma

输入是:
use://app/src/main/java/de/robv/android/xposed/installer/WelcomeActivity.java[language=FILE]//WelcomeActivity/onCreate/findViewById/R.id.toolbar[language=JAVA]
use://app/src/main/java/de/robv/android/xposed/installer/WelcomeActivity.java[language=FILE]//WelcomeActivity/onCreate/findViewById/R.id.aaa_toolBar[language=JAVA]