getMethodASTEclipse() returns 未声明的变量
getMethodASTEclipse() returns undeclared variable
我是 Rascal 的新手,我正在尝试使用以下代码从 eclipse 项目创建 AST
Module FirstTryAST
import lang::java::m3::Core;
import lang::java::jdt::m3::Core;
import Set;
import Relation;
import IO;
import List;
import Map;
import Exception;
import ParseTree;
void test(){
M3 myModel = createM3FromEclipseProject(|project://MyProject/|);
println("Loaded M3 model, looping through methods..");
for(m <- methods(model)) mAST = getMethodASTEclipse(m);
println("Success");
}
当程序(运行 在 eclipse Rascal 控制台中)试图执行
getMethodASTEclipse(m);
它returns:
|plugin://rascal_eclipse/src/org/rascalmpl/eclipse/library/lang/java/jdt/m3/Core.rsc|(1238,18,<40,12>,<40,30>):
Undeclared variable: getModelContaining
我该如何解决这个问题/我做错了什么?
我在 Ubuntu 15.04 (Cinnamon) 上使用 Eclipse Mars。
如果您需要更多信息,请告诉我。
Update:
当我使用 getMethodASTEclipse(m, model = myModel)
时它工作正常。
虽然这个解决方法对我有用,但我仍然想知道为什么我会收到这个未声明的变量消息的答案。
这已被翻译成 issue on github。这是一个未使用的功能,我想我们会删除它。
要获得 AST,请使用 lang::java::jdt::m3::AST::createAstsFromEclipseProject
或 lang::java::jdt::m3::AST::createAstsFromEclipseFile
。使用 rascal 模式匹配,你可以找到里面的方法。
我是 Rascal 的新手,我正在尝试使用以下代码从 eclipse 项目创建 AST
Module FirstTryAST
import lang::java::m3::Core;
import lang::java::jdt::m3::Core;
import Set;
import Relation;
import IO;
import List;
import Map;
import Exception;
import ParseTree;
void test(){
M3 myModel = createM3FromEclipseProject(|project://MyProject/|);
println("Loaded M3 model, looping through methods..");
for(m <- methods(model)) mAST = getMethodASTEclipse(m);
println("Success");
}
当程序(运行 在 eclipse Rascal 控制台中)试图执行
getMethodASTEclipse(m);
它returns:
|plugin://rascal_eclipse/src/org/rascalmpl/eclipse/library/lang/java/jdt/m3/Core.rsc|(1238,18,<40,12>,<40,30>): Undeclared variable: getModelContaining
我该如何解决这个问题/我做错了什么?
我在 Ubuntu 15.04 (Cinnamon) 上使用 Eclipse Mars。 如果您需要更多信息,请告诉我。
Update:
当我使用 getMethodASTEclipse(m, model = myModel)
时它工作正常。
虽然这个解决方法对我有用,但我仍然想知道为什么我会收到这个未声明的变量消息的答案。
这已被翻译成 issue on github。这是一个未使用的功能,我想我们会删除它。
要获得 AST,请使用 lang::java::jdt::m3::AST::createAstsFromEclipseProject
或 lang::java::jdt::m3::AST::createAstsFromEclipseFile
。使用 rascal 模式匹配,你可以找到里面的方法。