Procházet zdrojové kódy

Migrate to MetaInfServices

Dominik Fuchß před 4 roky
rodič
revize
0b60f1dc83

+ 16 - 1
jplag.frontend.rlang/src/main/java/de/jplag/R/Language.java

@@ -2,12 +2,15 @@ package de.jplag.R;
 
 
 import java.io.File;
 import java.io.File;
 
 
+import org.kohsuke.MetaInfServices;
+
 import de.jplag.ErrorConsumer;
 import de.jplag.ErrorConsumer;
 import de.jplag.TokenList;
 import de.jplag.TokenList;
 
 
 /**
 /**
  * This represents the R language as a language supported by JPlag.
  * This represents the R language as a language supported by JPlag.
  */
  */
+@MetaInfServices(de.jplag.Language.class)
 public class Language implements de.jplag.Language {
 public class Language implements de.jplag.Language {
 
 
     public static final String NAME = "R Parser";
     public static final String NAME = "R Parser";
@@ -15,10 +18,22 @@ public class Language implements de.jplag.Language {
     public static final int DEFAULT_MIN_TOKEN_MATCH = 8;
     public static final int DEFAULT_MIN_TOKEN_MATCH = 8;
     private final RParserAdapter parserAdapter;
     private final RParserAdapter parserAdapter;
 
 
-    public Language(ErrorConsumer consumer) {
+    /**
+     * Prototype Constructor for {@link MetaInfServices}.
+     */
+    public Language() {
+        this.parserAdapter = null;
+    }
+
+    Language(ErrorConsumer consumer) {
         this.parserAdapter = new RParserAdapter(consumer);
         this.parserAdapter = new RParserAdapter(consumer);
     }
     }
 
 
+    @Override
+    public de.jplag.Language initializeLanguage(ErrorConsumer errorConsumer) {
+        return new Language(errorConsumer);
+    }
+
     @Override
     @Override
     public String[] suffixes() {
     public String[] suffixes() {
         return new String[] {".R", ".r"};
         return new String[] {".R", ".r"};

+ 1 - 1
jplag/src/test/java/de/jplag/LanguageTest.java

@@ -11,6 +11,6 @@ class LanguageTest {
     @Test
     @Test
     void testLoading() {
     void testLoading() {
         var languages = LanguageLoader.loadLanguages();
         var languages = LanguageLoader.loadLanguages();
-        Assertions.assertEquals(7, languages.size());
+        Assertions.assertEquals(8, languages.size());
     }
     }
 }
 }