xtext:如何在JVM推理器中使用未知类型的泛型?

时间:2018-01-15 15:54:01

标签: java xtext

当我尝试在JvmModelInferrer中使用未知类型时,它适用于简单类型,但不适用于泛型类型。

示例:

        val unknownRef = typeRef('com.tmtron.ex.xtext2.usage.Unknown')
        members += domainObject.toField('simpleField', unknownRef)
        val listRef = typeRef(typeof(List), unknownRef)
        members += domainObject.toField('list', listRef)

注意:目标项目中不存在类型com.tmtron.ex.xtext2.usage.Unknown

生成器将生成此代码:

  private com.tmtron.ex.xtext2.usage.Unknown simpleField;

  private /* List<com.tmtron.ex.xtext2.usage.Unknown> */Object list;

因此simpleField生成的代码是正确的(或者至少是我的预期) 但是对于通用list,我预期的代码会被注释掉,并且会使用Object

为什么会发生这种情况/我该如何避免这种情况?

1 个答案:

答案 0 :(得分:2)

在这种情况下,

typeRef('java.util.List<com.tmtron.ex.xtext2.usage.Unknown>')应该按预期工作。