/*
 * Copyright (c) 2012 Google Inc.
 *
 * All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse
 * Public License v1.0 which accompanies this distribution, and is available at
 *
 * http://www.eclipse.org/legal/epl-v10.html
 */
package com.google.eclipse.protobuf.ui.validation;

/**
 * @author alruiz@google.com (Alex Ruiz)
 */
public final class MarkerTypes {
  public static final String EDITOR_CHECK = "com.google.eclipse.protobuf.ui.protobuf.check.fast";
  public static final String PROTOC_CHECK = "com.google.eclipse.protobuf.ui.protocMarker";

  private MarkerTypes() {}
}
