@Override
public KeyValue adapt(KeyValueContext context) {
KeyContext keyContext = getChild(context, KeyContext.class);
if (keyContext != null) {
KeyValue keyValue = createNode(context);
keyValue.setKey(getAdapter(KeyAdapter.class).adapt(keyContext));
ValueContext valueContext = getChild(context, ValueContext.class);
if (valueContext == null) {
Value value = createNode(context, Value.class);
int endLine = context.getStop().getLine();
int endColumn =
context.getStop().getCharPositionInLine() + context.getStop().getText().length() - 1;
value.setStartLine(endLine);
value.setStartColumn(endColumn);
value.setEndLine(endLine);
value.setEndColumn(endColumn - 1);
value.setText("");
keyValue.setValue(value);
} else {
keyValue.setValue(getAdapter(ValueAdapter.class).adapt(valueContext));
}
return keyValue;
} else {
return null;
}