Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpand中未为UML原语类型填写属性的类型字段_Uml_Code Generation_Xtend_Acceleo_Xpand - Fatal编程技术网

Xpand中未为UML原语类型填写属性的类型字段

Xpand中未为UML原语类型填写属性的类型字段,uml,code-generation,xtend,acceleo,xpand,Uml,Code Generation,Xtend,Acceleo,Xpand,我有一个从UML模型生成文本的XPT模板。这是我在类的属性上使用的摘录 «FOREACH attribute AS a» Id: «a.name» Type: «a.type.name» «ENDFOREACH» 只要类型是模型本身的一个类,所有这些都可以正常工作。但如果它是基元类型,则所有字段,包括名称,都设置为null。如果我将«a.type.name»更改为«a.type»,则响应如下: org.eclipse.uml2.uml.internal.impl.Primiti

我有一个从UML模型生成文本的XPT模板。这是我在类的属性上使用的摘录

«FOREACH attribute AS a»
    Id: «a.name»
    Type: «a.type.name»
«ENDFOREACH»
只要
类型
是模型本身的一个类,所有这些都可以正常工作。但如果它是基元类型,则所有字段,包括
名称
,都设置为
null
。如果我将
«a.type.name»
更改为
«a.type»
,则响应如下:

org.eclipse.uml2.uml.internal.impl.PrimitiveTypeImpl@6e315086 (eProxyURI:
     pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String)
调试器显示在对象上只设置了
eStorage
private字段,这就是
toString()
生成上述输出的原因

有趣的是,Acceleo中的相同表达式计算正确:

[query public getType(t : Type) : String = t.name /]
问题:如何在Xtend中为原始uml类型填写属性的
type
字段


编辑:问题缩小到这个问题:

Acceleo生成的代码可以解决异常的
路径图://
eProxyURI。默认情况下,简单的Xpand模板或Xtend代码无法解析它们。有关更多详细信息和解决方案,请参阅