You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CompileError.java 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /*
  2. * Javassist, a Java-bytecode translator toolkit.
  3. * Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.
  4. *
  5. * The contents of this file are subject to the Mozilla Public License Version
  6. * 1.1 (the "License"); you may not use this file except in compliance with
  7. * the License. Alternatively, the contents of this file may be used under
  8. * the terms of the GNU Lesser General Public License Version 2.1 or later,
  9. * or the Apache License Version 2.0.
  10. *
  11. * Software distributed under the License is distributed on an "AS IS" basis,
  12. * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  13. * for the specific language governing rights and limitations under the
  14. * License.
  15. */
  16. package javassist.compiler;
  17. import javassist.CannotCompileException;
  18. import javassist.NotFoundException;
  19. public class CompileError extends Exception {
  20. /** default serialVersionUID */
  21. private static final long serialVersionUID = 1L;
  22. private Lex lex;
  23. private String reason;
  24. private int lineNumber = -1;
  25. public CompileError(String s, Lex l) {
  26. this(s, l.getLineNumber());
  27. lex = l;
  28. }
  29. public CompileError(String s, int lineNumber) {
  30. this.lineNumber = lineNumber;
  31. reason = String.format("line %d: %s", lineNumber, s);
  32. }
  33. private CompileError(String s) {
  34. reason = s;
  35. lex = null;
  36. }
  37. public CompileError(CannotCompileException e) {
  38. this(e.getReason());
  39. }
  40. public CompileError(NotFoundException e) {
  41. this("cannot find " + e.getMessage());
  42. }
  43. public Lex getLex() { return lex; }
  44. public int getLineNumber() {
  45. return lineNumber;
  46. }
  47. @Override
  48. public String getMessage() {
  49. return reason;
  50. }
  51. @Override
  52. public String toString() {
  53. return "compile error: " + reason;
  54. }
  55. }