Skip to content

Commit d0ad996

Browse files
authored
Merge pull request #2235 from jplag/feature/language-interfaces
Clean up the language interfaces
2 parents 02e7470 + 18a2239 commit d0ad996

File tree

20 files changed

+95
-159
lines changed

20 files changed

+95
-159
lines changed

language-api/src/main/java/de/jplag/Language.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
public interface Language {
1313

1414
/**
15-
* Suffixes for the files containing code of the language. An empty array means all suffixes are valid.
15+
* File extensions for the files containing code of the language. An empty array means all suffixes are valid.
1616
*/
1717
String[] suffixes();
1818

languages/c/src/main/java/de/jplag/c/CLanguage.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,23 @@
1010
import de.jplag.ParsingException;
1111
import de.jplag.Token;
1212

13-
@MetaInfServices(de.jplag.Language.class)
13+
@MetaInfServices(Language.class)
1414
public class CLanguage implements Language {
15-
private static final String NAME = "C";
16-
private static final String IDENTIFIER = "c";
1715

1816
@Override
1917
public String[] suffixes() {
20-
return new String[] {".cpp", ".CPP", ".cxx", ".CXX", ".c++", ".C++", ".c", ".C", ".cc", ".CC", ".h", ".H", ".hpp", ".HPP", ".hh", ".HH"};
18+
return new String[] {".cpp", ".CPP", ".cxx", ".CXX", ".c++", ".C++", ".c", ".C", ".cc", ".CC", ".h", ".H", ".hpp", ".HPP", ".hh", ".HH",
19+
".hxx", ".HXX"};
2120
}
2221

2322
@Override
2423
public String getName() {
25-
return NAME;
24+
return "C";
2625
}
2726

2827
@Override
2928
public String getIdentifier() {
30-
return IDENTIFIER;
29+
return "c";
3130
}
3231

3332
@Override

languages/cpp/src/main/java/de/jplag/cpp/CPPLanguage.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,21 @@
1515
*/
1616
@MetaInfServices(Language.class)
1717
public class CPPLanguage implements Language {
18-
private static final String NAME = "C++";
19-
private static final String IDENTIFIER = "cpp";
2018

2119
@Override
2220
public String[] suffixes() {
23-
return new String[] {".cpp", ".CPP", ".cxx", ".CXX", ".c++", ".C++", ".c", ".C", ".cc", ".CC", ".h", ".H", ".hpp", ".HPP", ".hh", ".HH"};
21+
return new String[] {".cpp", ".CPP", ".cxx", ".CXX", ".c++", ".C++", ".c", ".C", ".cc", ".CC", ".h", ".H", ".hpp", ".HPP", ".hh", ".HH",
22+
".hxx"};
2423
}
2524

2625
@Override
2726
public String getName() {
28-
return NAME;
27+
return "C++";
2928
}
3029

3130
@Override
3231
public String getIdentifier() {
33-
return IDENTIFIER;
32+
return "cpp";
3433
}
3534

3635
@Override

languages/csharp/src/main/java/de/jplag/csharp/CSharpLanguage.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,27 @@
1313
/**
1414
* C# language with full support of C# 6 features and below.
1515
*/
16-
@MetaInfServices(de.jplag.Language.class)
16+
@MetaInfServices(Language.class)
1717
public class CSharpLanguage implements Language {
18-
private static final String NAME = "C#";
19-
private static final String IDENTIFIER = "csharp";
20-
private static final String[] FILE_ENDINGS = new String[] {".cs", ".CS"};
21-
private static final int DEFAULT_MIN_TOKEN_MATCH = 8;
2218

2319
@Override
2420
public String[] suffixes() {
25-
return FILE_ENDINGS;
21+
return new String[] {".cs", ".CS"};
2622
}
2723

2824
@Override
2925
public String getName() {
30-
return NAME;
26+
return "C#";
3127
}
3228

3329
@Override
3430
public String getIdentifier() {
35-
return IDENTIFIER;
31+
return "csharp";
3632
}
3733

3834
@Override
3935
public int minimumTokenMatch() {
40-
return DEFAULT_MIN_TOKEN_MATCH;
36+
return 8;
4137
}
4238

4339
@Override

languages/emf-metamodel-dynamic/src/main/java/de/jplag/emf/dynamic/DynamicEmfLanguage.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,20 @@
1515
* @author Timur Saglam
1616
*/
1717
public class DynamicEmfLanguage extends EmfLanguage { // currently not included in the CLI
18-
private static final String NAME = "EMF metamodels (dynamically created token set)";
19-
private static final String IDENTIFIER = "emf-dynamic";
20-
21-
private static final int DEFAULT_MIN_TOKEN_MATCH = 10;
2218

2319
@Override
2420
public String getName() {
25-
return NAME;
21+
return "EMF metamodels (dynamically created token set)";
2622
}
2723

2824
@Override
2925
public String getIdentifier() {
30-
return IDENTIFIER;
26+
return "emf-dynamic";
3127
}
3228

3329
@Override
3430
public int minimumTokenMatch() {
35-
return DEFAULT_MIN_TOKEN_MATCH;
31+
return 10;
3632
}
3733

3834
@Override

languages/emf-metamodel/src/main/java/de/jplag/emf/EmfLanguage.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.eclipse.emf.ecore.EcorePackage;
88
import org.kohsuke.MetaInfServices;
99

10+
import de.jplag.Language;
1011
import de.jplag.ParsingException;
1112
import de.jplag.Token;
1213
import de.jplag.emf.parser.EcoreParser;
@@ -15,33 +16,30 @@
1516
* Language for EMF metamodels from the Eclipse Modeling Framework (EMF).
1617
* @author Timur Saglam
1718
*/
18-
@MetaInfServices(de.jplag.Language.class)
19-
public class EmfLanguage implements de.jplag.Language {
19+
@MetaInfServices(Language.class)
20+
public class EmfLanguage implements Language {
21+
2022
public static final String VIEW_FILE_SUFFIX = ".emfatic";
2123
public static final String FILE_ENDING = "." + EcorePackage.eNAME;
2224

23-
private static final String NAME = "EMF metamodel";
24-
private static final String IDENTIFIER = "emf";
25-
private static final int DEFAULT_MIN_TOKEN_MATCH = 6;
26-
2725
@Override
2826
public String[] suffixes() {
2927
return new String[] {FILE_ENDING};
3028
}
3129

3230
@Override
3331
public String getName() {
34-
return NAME;
32+
return "EMF metamodel";
3533
}
3634

3735
@Override
3836
public String getIdentifier() {
39-
return IDENTIFIER;
37+
return "emf";
4038
}
4139

4240
@Override
4341
public int minimumTokenMatch() {
44-
return DEFAULT_MIN_TOKEN_MATCH;
42+
return 6;
4543
}
4644

4745
@Override

languages/emf-model/src/main/java/de/jplag/emf/model/EmfModelLanguage.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import org.kohsuke.MetaInfServices;
99

10+
import de.jplag.Language;
1011
import de.jplag.ParsingException;
1112
import de.jplag.Token;
1213
import de.jplag.emf.dynamic.DynamicEmfLanguage;
@@ -17,12 +18,8 @@
1718
* created token set.
1819
* @author Timur Saglam
1920
*/
20-
@MetaInfServices(de.jplag.Language.class)
21+
@MetaInfServices(Language.class)
2122
public class EmfModelLanguage extends DynamicEmfLanguage {
22-
private static final String NAME = "EMF models (dynamically created token set)";
23-
private static final String IDENTIFIER = "emf-model";
24-
25-
public static final String VIEW_FILE_SUFFIX = ".treeview";
2623

2724
@Override
2825
public String[] suffixes() {
@@ -31,17 +28,17 @@ public String[] suffixes() {
3128

3229
@Override
3330
public String getName() {
34-
return NAME;
31+
return "EMF models (dynamically created token set)";
3532
}
3633

3734
@Override
3835
public String getIdentifier() {
39-
return IDENTIFIER;
36+
return "emf-model";
4037
}
4138

4239
@Override
4340
public String viewFileSuffix() {
44-
return VIEW_FILE_SUFFIX;
41+
return ".treeview";
4542
}
4643

4744
@Override

languages/golang/src/main/java/de/jplag/golang/GoLanguage.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,27 @@
1010
import de.jplag.ParsingException;
1111
import de.jplag.Token;
1212

13-
@MetaInfServices(de.jplag.Language.class)
13+
@MetaInfServices(Language.class)
1414
public class GoLanguage implements Language {
15-
private static final String NAME = "Go";
16-
private static final String IDENTIFIER = "go";
17-
private static final int DEFAULT_MIN_TOKEN_MATCH = 8;
18-
private static final String[] FILE_EXTENSIONS = {".go"};
1915

2016
@Override
2117
public String[] suffixes() {
22-
return FILE_EXTENSIONS;
18+
return new String[] {".go"};
2319
}
2420

2521
@Override
2622
public String getName() {
27-
return NAME;
23+
return "Go";
2824
}
2925

3026
@Override
3127
public String getIdentifier() {
32-
return IDENTIFIER;
28+
return "go";
3329
}
3430

3531
@Override
3632
public int minimumTokenMatch() {
37-
return DEFAULT_MIN_TOKEN_MATCH;
33+
return 8;
3834
}
3935

4036
@Override

languages/java/src/main/java/de/jplag/java/JavaLanguage.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,15 @@
66

77
import org.kohsuke.MetaInfServices;
88

9+
import de.jplag.Language;
910
import de.jplag.ParsingException;
1011
import de.jplag.Token;
1112

1213
/**
1314
* Language for Java 9 and newer.
1415
*/
15-
@MetaInfServices(de.jplag.Language.class)
16-
public class JavaLanguage implements de.jplag.Language {
17-
private static final String NAME = "Java";
18-
private static final String IDENTIFIER = "java";
16+
@MetaInfServices(Language.class)
17+
public class JavaLanguage implements Language {
1918

2019
@Override
2120
public String[] suffixes() {
@@ -24,12 +23,12 @@ public String[] suffixes() {
2423

2524
@Override
2625
public String getName() {
27-
return NAME;
26+
return "Java";
2827
}
2928

3029
@Override
3130
public String getIdentifier() {
32-
return IDENTIFIER;
31+
return "java";
3332
}
3433

3534
@Override

languages/javascript/src/main/java/de/jplag/javascript/JavaScriptLanguage.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,18 @@
22

33
import org.kohsuke.MetaInfServices;
44

5+
import de.jplag.Language;
56
import de.jplag.typescript.TypeScriptLanguage;
67

78
/**
89
* Represents the JavaScript Language as a variance of TypeScript
910
*/
10-
@MetaInfServices(de.jplag.Language.class)
11+
@MetaInfServices(Language.class)
1112
public class JavaScriptLanguage extends TypeScriptLanguage {
1213

13-
private static final String IDENTIFIER = "javascript";
14-
private static final String NAME = "JavaScript";
15-
1614
@Override
1715
public String getIdentifier() {
18-
return IDENTIFIER;
16+
return "javascript";
1917
}
2018

2119
@Override
@@ -25,6 +23,6 @@ public String[] suffixes() {
2523

2624
@Override
2725
public String getName() {
28-
return NAME;
26+
return "JavaScript";
2927
}
3028
}

0 commit comments

Comments
 (0)