尝试从 Rascal 调用 Java 方法时出错

Error trying to call Java method from Rascal

我正在尝试从 Rascal 调用 Java 方法,但出现此错误:

Cannot link method com.mypackage.Teste because: class not found

流氓代码:

@javaClass{com.mypackage.Teste}
java void testeJava();

Java代码:

package com.mypackage;

public class Teste {
    public void testeJava() {
        System.out.println("it worked");
    }
}

com.mypackage 包在我的 src 文件夹中,连同所有 Rascal 代码。我也尝试过使用 src.com.mypackage.Teste,但结果相同。

我做错了什么?

class 需要一个具有一个 IValueFactory 类型参数的构造函数。您通常会将其存储在一个字段中,因为这是响应函数调用的方式。 (用这个工厂构建 IValues)

package com.mypackage;

import io.usethesource.vallang.IValueFactory;

public class Teste {
    private final IValueFactory vf;

    public Tests(IValueFactor vf) {
       this.vf = vf;
    }
    public void testeJava() {
        System.out.println("it worked");
    }
}