Add explicit language versions (#4120)

This commit is contained in:
Andreas Dangel
2023-02-09 12:15:43 +01:00
parent 6c95689ed3
commit d7d2ad541e
29 changed files with 146 additions and 50 deletions

View File

@@ -20,12 +20,21 @@ public class VfLanguageModule extends SimpleLanguageModuleBase {
public static final String TERSE_NAME = "vf";
public VfLanguageModule() {
super(LanguageMetadata.withId(TERSE_NAME).name(NAME)
.extensions("page", "component")
.dependsOnLanguage(ApexLanguageModule.TERSE_NAME),
super(createMetdata(),
p -> new VfHandler((VfLanguageProperties) p));
}
private static LanguageMetadata createMetdata() {
LanguageMetadata languageMetadata = LanguageMetadata.withId(TERSE_NAME).name(NAME)
.extensions("page", "component")
.dependsOnLanguage(ApexLanguageModule.TERSE_NAME);
// use the same versions as in Apex
int lastVersion = ApexLanguageModule.VERSIONS.size() - 1;
ApexLanguageModule.VERSIONS.subList(0, lastVersion).forEach(languageMetadata::addVersion);
languageMetadata.addDefaultVersion(ApexLanguageModule.VERSIONS.get(lastVersion));
return languageMetadata;
}
@Override
public LanguagePropertyBundle newPropertyBundle() {
return new VfLanguageProperties();

View File

@@ -8,11 +8,13 @@ import java.util.Arrays;
import java.util.Collection;
import net.sourceforge.pmd.AbstractLanguageVersionTest;
import net.sourceforge.pmd.lang.apex.ApexLanguageModule;
class LanguageVersionTest extends AbstractLanguageVersionTest {
static Collection<TestDescriptor> data() {
return Arrays.asList(new TestDescriptor(VfLanguageModule.NAME, VfLanguageModule.TERSE_NAME, "",
getLanguage(VfLanguageModule.NAME).getDefaultVersion()));
return Arrays.asList(new TestDescriptor(VfLanguageModule.NAME, VfLanguageModule.TERSE_NAME,
ApexLanguageModule.getInstance().getDefaultVersion().getVersion(),
getLanguage(VfLanguageModule.NAME).getDefaultVersion()));
}
}