Home | History | Annotate | Download | only in processor
      1 // Copyright 2017 The Bazel Authors. All rights reserved.
      2 //
      3 // Licensed under the Apache License, Version 2.0 (the "License");
      4 // you may not use this file except in compliance with the License.
      5 // You may obtain a copy of the License at
      6 //
      7 //    http://www.apache.org/licenses/LICENSE-2.0
      8 //
      9 // Unless required by applicable law or agreed to in writing, software
     10 // distributed under the License is distributed on an "AS IS" BASIS,
     11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 // See the License for the specific language governing permissions and
     13 // limitations under the License.
     14 package com.google.devtools.common.options.processor;
     15 
     16 import javax.lang.model.element.Element;
     17 
     18 /** Exception that indicates a problem in the processing of an {@link Option}. */
     19 class OptionProcessorException extends Exception {
     20   private final Element elementInError;
     21 
     22   OptionProcessorException(Element element, String message, Object... args) {
     23     super(String.format(message, args));
     24     elementInError = element;
     25   }
     26 
     27   OptionProcessorException(Element element, Throwable throwable, String message, Object... args) {
     28     super(String.format(message, args), throwable);
     29     elementInError = element;
     30   }
     31 
     32   Element getElementInError() {
     33     return elementInError;
     34   }
     35 }
     36