Skip to content

godelscript_language文档中给出的一个示例有误 #106

Closed
@Pudrick

Description

@Pudrick

文档中给出的第一个Java示例,查询未使用方法

// script
use coref::java::*

fn default_java_db() -> JavaDB {
    return JavaDB::load("coref_java_src.db")
}

// find unused methods
fn unused_method(unused: string) -> bool {
    for(c in Callable(default_java_db()), method in Callable(default_java_db()), caller in method.getCaller()) {
        if (c != caller && unused = method.getSignature()) {
            return true
        }
    }
}

fn main() {
    output(unused_method())
}

这里的判断逻辑中methodcaller非空,得到的应该是被使用过的方法。
可以做类似这样的修正

fn unused_method(unused: string) -> bool {
    for(method in Callable(default_java_db())){
        if(0 = method.getCaller().len() && unused = method.getSignature()){
            return true
        }
    }
}

使之返回未使用方法。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions