xtend에 간단한 해결책은 (EObject.toString()에서 기본적으로 수행 한 반성 기준) : 호출과 같은 덤프 (someEObject, '')에서
def static String dump(EObject mod_, String indent) {
var res = indent + mod_.toString.replaceFirst ('.*[.]impl[.](.*)Impl[^(]*', '$1 ')
for (a :mod_.eCrossReferences)
res += ' ->' + a.toString().replaceFirst ('.*[.]impl[.](.*)Impl[^(]*', '$1 ')
res += "\n"
for (f :mod_.eContents) {
res += f.dump (indent+" ")
}
return res
}
출력 것이다 반환 :
ExpressionModel
Variable (name: i)
Plus
IntConst (value: 1)
Plus
IntConst (value: 2)
Plus
IntConst (value: 3)
Variable (name: j)
Plus
VarRef ->Variable (name: i)
Plus
IntConst (value: 4)
Plus
IntConst (value: 5)
@Joe,이 답변 수락을 제안 할 수 있습니까? – thSoft