2017-01-06 4 views
0

xtextで1つのdsl(A)を別のdsl(B)に翻訳します。xtextの自動コード遺伝子生成中にアクセスファイルを作成

Aのコード生成が

override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { 
    fsa.generateFile('transformed.wp', resource.allContents.filter(typeof(ActionSystem)).map [ 
     compile 
    ].join(', ')) 

    val rs = new ResourceSetImpl(); 
    val r = rs.getResource(URI.createPlatformResourceURI('transformed.wp'), true); 
    val List<EObject> contentOfYourFile = r.getContents(); 
    } 

のように見えるエラーは、私は、ファイルが見つからないことURI.createPlatformResourceURI('transformed.wp')呼んでいます。

「transformed.wp」ファイルにアクセスするにはどうすればよいですか。

考え方は、コードが生成された後、Aのemfモデルの一部をBのモデルにコピーすることです。

答えて

0

ソリューションはIFileSystemAccess2

//create the file name 
var fileuri = fsa.getURI('transformed.wp'); 
//get the name of the resource 
var resource_name = fileuri.toString(); 
//get eh name of the resource 
var file = fileuri.lastSegment; 
にあった
関連する問題