LanguageWithDelimitedMethods.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package de.jplag.java15;
  2. import java.io.File;
  3. import de.jplag.Language;
  4. import de.jplag.ErrorConsumer;
  5. import de.jplag.TokenList;
  6. /**
  7. * Java 1.5 parser with method separators; if you know why these separators
  8. * exist, PLEASE tell us or document at
  9. * https://svn.ipd.kit.edu/trac/de/jplag/wiki/Server/Frontends/Java-1.5)
  10. */
  11. public class LanguageWithDelimitedMethods implements Language {
  12. private Parser parser;
  13. public LanguageWithDelimitedMethods(ErrorConsumer program) {
  14. this.parser = new Parser(true);
  15. this.parser.setProgram(program);
  16. }
  17. @Override
  18. public int errorCount() {
  19. return this.parser.errorsCount();
  20. }
  21. @Override
  22. public String[] suffixes() {
  23. String[] res = { ".java", ".jav", ".JAVA", ".JAV" };
  24. return res;
  25. }
  26. @Override
  27. public String getName() {
  28. return "Java1.5 Parser with delimited methods";
  29. }
  30. @Override
  31. public String getShortName() {
  32. return "java15dm";
  33. }
  34. @Override
  35. public int minimumTokenMatch() {
  36. return 8;
  37. }
  38. @Override
  39. public TokenList parse(File dir, String[] files) {
  40. return this.parser.parse(dir, files);
  41. }
  42. @Override
  43. public boolean hasErrors() {
  44. return this.parser.hasErrors();
  45. }
  46. @Override
  47. public boolean supportsColumns() {
  48. return true;
  49. }
  50. @Override
  51. public boolean isPreformatted() {
  52. return true;
  53. }
  54. @Override
  55. public boolean usesIndex() {
  56. return false;
  57. }
  58. @Override
  59. public int numberOfTokens() {
  60. return JavaTokenConstants.NUM_DIFF_TOKENS;
  61. }
  62. @Override
  63. public String type2string(int type) {
  64. return JavaToken.type2string(type);
  65. }
  66. }