Rascal 按类设置的过滤信息

Rascal 按类设置的过滤信息,rascal,Rascal,假设我想从一些g中获取所有字段,而忽略像| java这样的字段+field:///java/lang/System/err|。如何检查结果字段是否实际引用了导入项目中的某个类 我的尝试是这样的。在这里,编译器在下面的处亮起:简单回答:from.path不是模式语法,因此您可以使用变量: set[loc] fields = { from | <from,_> <- g, from.scheme == "java+field", x <

假设我想从一些g中获取所有字段,而忽略像
| java这样的字段+field:///java/lang/System/err|
。如何检查结果字段是否实际引用了导入项目中的某个类


我的尝试是这样的。在这里,编译器在下面的
处亮起:简单回答:
from.path
不是模式语法,因此您可以使用变量:

 set[loc] fields = { from | <from,_> <- g, 
                   from.scheme == "java+field", x <- classes, x == from.path };
 set[loc] fields = { from | <from,_> <- g, 
                   from.scheme == "java+field", x <- classes, x == from.path };
 set[loc] fields = { from | <from,_> <- g, 
                   from.scheme == "java+field", x := from.path, x <- classes };
rascal> import analysis::graphs::Graph; // or import Graphs; in older versions
ok
rascal> top(m@containment)
set[loc]: {
   |java+package:///org|,
   |java+package:///vinju|
}