// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

const String CODE = 'code';
const String COMPLETION_RESULTS = 'completion.results';
const String CONTEXT_MESSAGES = 'contextMessages';
const String CORRECTION = 'correction';
const String EDITS = 'edits';
const String END_COLUMN = 'endColumn';
const String END_LINE = 'endLine';
const String FILE = 'file';
const String FILE_STAMP = 'fileStamp';
const String HAS_FIX = 'hasFix';
const String LENGTH = 'length';
const String LOCATION = 'location';
const String MESSAGE = 'message';
const String OFFSET = 'offset';
const String REPLACEMENT = 'replacement';
const String SEVERITY = 'severity';
const String STACK_TRACE = 'stackTrace';
const String START_COLUMN = 'startColumn';
const String START_LINE = 'startLine';
const String SUBSCRIPTIONS = 'subscriptions';
const String TYPE = 'type';
const String URL = 'url';
const String VERSION = 'version';
