我有一张桌子
CREATE TABLE demo {
a int,
b int,
PRIMARY KEY (a, b, c)
};
每一行都是
Columns
: k=ID v=ComparatorType (is_pk?=K_PRIMARY K_KEY)?
| is_pk?=K_PRIMARY K_KEY '(' cs+=ID (',' cs+=ID )* ')'
;
我像这样调用我的错误函数
error('PRIMARY KEYS id need to declare in advance',
MyPackage.Literals.COLUMNS__CS,
PRIMARY_KEYS_DONT_EXIST)
它可以找到语法错误,但xtext会在PRIMARY KEY
行的第一个元素处标记错误,在我的示例中为a
。有没有办法在c
或整个(a, b, c)
标记错误?
答案 0 :(得分:1)
您可以将应该标记为附加参数的索引传递给错误函数。如果您不仅要标记c,您当然可以为每个索引创建多个错误。