Ланг модули в Rascal Shell
Есть некоторый код, который использует модули от lang, все отлично работает в консоли Rascal в Eclipse, но когда я пытаюсь импортировать его (import lang::java::jdt::m3::Core;) в rascal-shell.jar выдает ошибку об отсутствующем пути поиска.
rascal>import lang::java::jdt::m3::Core;
|prompt:///|(0,33,<1,0>,<1,33>): Could not import module lang::java::jdt::m3::Core: can not find in search path
Advice: |http://tutor.rascal-mpl.org/Errors/Static/ModuleImport/ModuleImport.html|
Попытка собрать мою собственную оболочку для подражателей с помощью инструкций @github, но не повезло, есть ли способ добавить модули m3 в путь поиска и затем построить оболочку для подделок?
Спасибо!
1 ответ
Имя модуля для извлечения модулей M3 из Java отличается в оболочке командной строки и в VScode из Eclipse. Причина в том, что контекст Eclipse предлагает более автоматические способы разрешения пути к классам.
Чтобы добиться того же в VScode или в командной строке, используйте это:
rascal>import lang::java::m3::Core;
ok
rascal>mx = createM3FromMavenProject(|project://vallang|);
M3: m3(
|project://vallang|,
annotations={
<|java+method:///io/usethesource/vallang/type/SetType/Info/fromSymbol(io.usethesource.vallang.IConstructor,io.usethesource.vallang.type.Type...
Обратите внимание, что это для последних выпусков VScode (0.5.0) и rascal-shell (0.25.x).