diff --git a/.gitignore b/.gitignore index b5f6845c8..2107b67cb 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ current-commit proparse/src/test/resources/OpenEdge proparse/src/test/resources/rssw +.DS_Store + diff --git a/coverage-report/pom.xml b/coverage-report/pom.xml index 90ad699f7..ed2643ae3 100644 --- a/coverage-report/pom.xml +++ b/coverage-report/pom.xml @@ -4,7 +4,7 @@ eu.rssw.openedge.parsers coverage-report - 2.18.1 + 2.19.0 JaCoCo report Fake module for code coverage report in SonarQube @@ -20,37 +20,37 @@ eu.rssw.openedge.rcode rcode-reader - 2.18.1 + 2.19.0 eu.rssw.sonar.openedge sonar-openedge-plugin - 2.18.1 + 2.19.0 eu.rssw.openedge.parsers proparse - 2.18.1 + 2.19.0 eu.rssw.openedge.parsers profiler-parser - 2.18.1 + 2.19.0 eu.rssw.openedge.parsers database-parser - 2.18.1 + 2.19.0 eu.rssw.openedge.parsers listing-parser - 2.18.1 + 2.19.0 eu.rssw.openedge.checks openedge-checks - 2.18.1 + 2.19.0 @@ -60,7 +60,7 @@ org.sonarsource.scanner.maven sonar-maven-plugin - 3.9.0.2155 + 3.9.1.2184 @@ -69,7 +69,7 @@ org.jacoco jacoco-maven-plugin - 0.8.7 + 0.8.8 diff --git a/database-parser/.settings/org.eclipse.jdt.core.prefs b/database-parser/.settings/org.eclipse.jdt.core.prefs index a45024cdb..4f1dd0622 100644 --- a/database-parser/.settings/org.eclipse.jdt.core.prefs +++ b/database-parser/.settings/org.eclipse.jdt.core.prefs @@ -4,6 +4,7 @@ org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.processAnnotations=disabled org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false diff --git a/database-parser/pom.xml b/database-parser/pom.xml index f83c3e0af..6f6bd686e 100644 --- a/database-parser/pom.xml +++ b/database-parser/pom.xml @@ -4,7 +4,7 @@ eu.rssw.openedge.parsers database-parser - 2.18.1 + 2.19.0 OpenEdge database definition lexer and parser OpenEdge dump files parser @@ -51,28 +51,28 @@ org.antlr antlr4-runtime - 4.10.1 + 4.11.1 com.google.guava guava - 31.0.1-jre + 31.1-jre org.slf4j slf4j-api - 1.7.32 + 1.7.36 org.testng testng - 7.4.0 + 7.7.0 test org.slf4j slf4j-simple - 1.7.32 + 1.7.36 test @@ -83,7 +83,7 @@ org.sonarsource.scanner.maven sonar-maven-plugin - 3.9.0.2155 + 3.9.1.2184 @@ -92,7 +92,7 @@ org.jacoco jacoco-maven-plugin - 0.8.7 + 0.8.8 @@ -112,7 +112,7 @@ org.antlr antlr4-maven-plugin - 4.10.1 + 4.11.1 @@ -145,7 +145,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.4.1 attach-javadocs diff --git a/database-parser/src/main/java/eu/rssw/antlr/database/DescriptiveErrorListener.java b/database-parser/src/main/java/eu/rssw/antlr/database/DescriptiveErrorListener.java index 29aecf865..244677c42 100644 --- a/database-parser/src/main/java/eu/rssw/antlr/database/DescriptiveErrorListener.java +++ b/database-parser/src/main/java/eu/rssw/antlr/database/DescriptiveErrorListener.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/database-parser/src/main/java/eu/rssw/antlr/database/DumpFileReleaseDescriptor.java b/database-parser/src/main/java/eu/rssw/antlr/database/DumpFileReleaseDescriptor.java index d335f8c81..431f45eb1 100644 --- a/database-parser/src/main/java/eu/rssw/antlr/database/DumpFileReleaseDescriptor.java +++ b/database-parser/src/main/java/eu/rssw/antlr/database/DumpFileReleaseDescriptor.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/database-parser/src/main/java/eu/rssw/antlr/database/DumpFileUtils.java b/database-parser/src/main/java/eu/rssw/antlr/database/DumpFileUtils.java index b0f511e00..61c2f9516 100644 --- a/database-parser/src/main/java/eu/rssw/antlr/database/DumpFileUtils.java +++ b/database-parser/src/main/java/eu/rssw/antlr/database/DumpFileUtils.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/database-parser/src/main/java/eu/rssw/antlr/database/DumpFileVisitor.java b/database-parser/src/main/java/eu/rssw/antlr/database/DumpFileVisitor.java index 4c6d82aff..392057a13 100644 --- a/database-parser/src/main/java/eu/rssw/antlr/database/DumpFileVisitor.java +++ b/database-parser/src/main/java/eu/rssw/antlr/database/DumpFileVisitor.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/database-parser/src/main/java/eu/rssw/antlr/database/objects/DatabaseDescription.java b/database-parser/src/main/java/eu/rssw/antlr/database/objects/DatabaseDescription.java index 1e4c1f1c1..50eb2fbb5 100644 --- a/database-parser/src/main/java/eu/rssw/antlr/database/objects/DatabaseDescription.java +++ b/database-parser/src/main/java/eu/rssw/antlr/database/objects/DatabaseDescription.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or @@ -26,7 +26,7 @@ import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.Collection; import java.util.HashMap; import java.util.List; @@ -72,7 +72,7 @@ public void addSequence(Sequence seq) { } public void serialize(OutputStream out) throws IOException { - try (OutputStreamWriter osw = new OutputStreamWriter(out, Charset.forName("utf-8")); + try (OutputStreamWriter osw = new OutputStreamWriter(out, StandardCharsets.UTF_8); BufferedWriter writer = new BufferedWriter(osw)) { for (Sequence s : sequences.values()) { writer.write("S" + s.getName()); diff --git a/database-parser/src/main/java/eu/rssw/antlr/database/objects/Field.java b/database-parser/src/main/java/eu/rssw/antlr/database/objects/Field.java index 2a5f41977..a7d0d0d45 100644 --- a/database-parser/src/main/java/eu/rssw/antlr/database/objects/Field.java +++ b/database-parser/src/main/java/eu/rssw/antlr/database/objects/Field.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/database-parser/src/main/java/eu/rssw/antlr/database/objects/Index.java b/database-parser/src/main/java/eu/rssw/antlr/database/objects/Index.java index 69b084cbd..a5beddb3f 100644 --- a/database-parser/src/main/java/eu/rssw/antlr/database/objects/Index.java +++ b/database-parser/src/main/java/eu/rssw/antlr/database/objects/Index.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/database-parser/src/main/java/eu/rssw/antlr/database/objects/IndexField.java b/database-parser/src/main/java/eu/rssw/antlr/database/objects/IndexField.java index 40bde3f6f..b292fdcb2 100644 --- a/database-parser/src/main/java/eu/rssw/antlr/database/objects/IndexField.java +++ b/database-parser/src/main/java/eu/rssw/antlr/database/objects/IndexField.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/database-parser/src/main/java/eu/rssw/antlr/database/objects/Sequence.java b/database-parser/src/main/java/eu/rssw/antlr/database/objects/Sequence.java index aae2e47f1..845d238a5 100644 --- a/database-parser/src/main/java/eu/rssw/antlr/database/objects/Sequence.java +++ b/database-parser/src/main/java/eu/rssw/antlr/database/objects/Sequence.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/database-parser/src/main/java/eu/rssw/antlr/database/objects/Table.java b/database-parser/src/main/java/eu/rssw/antlr/database/objects/Table.java index dea4de60a..298f24d56 100644 --- a/database-parser/src/main/java/eu/rssw/antlr/database/objects/Table.java +++ b/database-parser/src/main/java/eu/rssw/antlr/database/objects/Table.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/database-parser/src/main/java/eu/rssw/antlr/database/objects/Trigger.java b/database-parser/src/main/java/eu/rssw/antlr/database/objects/Trigger.java index eb9a6bce0..594b9a72c 100644 --- a/database-parser/src/main/java/eu/rssw/antlr/database/objects/Trigger.java +++ b/database-parser/src/main/java/eu/rssw/antlr/database/objects/Trigger.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/database-parser/src/main/java/eu/rssw/antlr/database/objects/TriggerType.java b/database-parser/src/main/java/eu/rssw/antlr/database/objects/TriggerType.java index e9c094907..658022756 100644 --- a/database-parser/src/main/java/eu/rssw/antlr/database/objects/TriggerType.java +++ b/database-parser/src/main/java/eu/rssw/antlr/database/objects/TriggerType.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/database-parser/src/test/java/eu/rssw/antlr/database/TestDumpFile.java b/database-parser/src/test/java/eu/rssw/antlr/database/TestDumpFile.java index 61ee0eb9c..56d1e3a65 100644 --- a/database-parser/src/test/java/eu/rssw/antlr/database/TestDumpFile.java +++ b/database-parser/src/test/java/eu/rssw/antlr/database/TestDumpFile.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/listing-parser/.settings/org.eclipse.jdt.core.prefs b/listing-parser/.settings/org.eclipse.jdt.core.prefs index a45024cdb..4f1dd0622 100644 --- a/listing-parser/.settings/org.eclipse.jdt.core.prefs +++ b/listing-parser/.settings/org.eclipse.jdt.core.prefs @@ -4,6 +4,7 @@ org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.processAnnotations=disabled org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false diff --git a/listing-parser/pom.xml b/listing-parser/pom.xml index c328b6788..59bb463ea 100644 --- a/listing-parser/pom.xml +++ b/listing-parser/pom.xml @@ -4,7 +4,7 @@ eu.rssw.openedge.parsers listing-parser - 2.18.1 + 2.19.0 OpenEdge listing so-called parser OpenEdge listing files parser @@ -49,23 +49,23 @@ com.google.guava guava - 31.0.1-jre + 31.1-jre org.slf4j slf4j-api - 1.7.32 + 1.7.36 org.testng testng - 7.4.0 + 7.7.0 test org.slf4j slf4j-simple - 1.7.32 + 1.7.36 test @@ -76,7 +76,7 @@ org.sonarsource.scanner.maven sonar-maven-plugin - 3.9.0.2155 + 3.9.1.2184 @@ -85,7 +85,7 @@ org.jacoco jacoco-maven-plugin - 0.8.7 + 0.8.8 @@ -125,7 +125,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.4.1 attach-javadocs diff --git a/listing-parser/src/main/java/eu/rssw/listing/BlockType.java b/listing-parser/src/main/java/eu/rssw/listing/BlockType.java index 972586121..c1b3aafa2 100644 --- a/listing-parser/src/main/java/eu/rssw/listing/BlockType.java +++ b/listing-parser/src/main/java/eu/rssw/listing/BlockType.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/listing-parser/src/main/java/eu/rssw/listing/CodeBlock.java b/listing-parser/src/main/java/eu/rssw/listing/CodeBlock.java index 6b67f9a44..2a312ace8 100644 --- a/listing-parser/src/main/java/eu/rssw/listing/CodeBlock.java +++ b/listing-parser/src/main/java/eu/rssw/listing/CodeBlock.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/listing-parser/src/main/java/eu/rssw/listing/ListingParser.java b/listing-parser/src/main/java/eu/rssw/listing/ListingParser.java index 5e745279c..e5f7441f7 100644 --- a/listing-parser/src/main/java/eu/rssw/listing/ListingParser.java +++ b/listing-parser/src/main/java/eu/rssw/listing/ListingParser.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/listing-parser/src/test/java/eu/rssw/listing/TestListing.java b/listing-parser/src/test/java/eu/rssw/listing/TestListing.java index 09114e4fb..dc53d28af 100644 --- a/listing-parser/src/test/java/eu/rssw/listing/TestListing.java +++ b/listing-parser/src/test/java/eu/rssw/listing/TestListing.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/.settings/org.eclipse.jdt.core.prefs b/openedge-checks/.settings/org.eclipse.jdt.core.prefs index a45024cdb..4f1dd0622 100644 --- a/openedge-checks/.settings/org.eclipse.jdt.core.prefs +++ b/openedge-checks/.settings/org.eclipse.jdt.core.prefs @@ -4,6 +4,7 @@ org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.processAnnotations=disabled org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false diff --git a/openedge-checks/pom.xml b/openedge-checks/pom.xml index c64211e17..7fd3e0ce2 100644 --- a/openedge-checks/pom.xml +++ b/openedge-checks/pom.xml @@ -4,7 +4,7 @@ eu.rssw.openedge.checks openedge-checks - 2.18.1 + 2.19.0 OpenEdge checks OpenEdge checks @@ -55,23 +55,23 @@ eu.rssw.openedge.parsers database-parser - 2.18.1 + 2.19.0 eu.rssw.openedge.parsers proparse - 2.18.1 + 2.19.0 org.testng testng - 7.4.0 + 7.7.0 test org.slf4j slf4j-simple - 1.7.32 + 1.7.36 test @@ -82,7 +82,7 @@ org.sonarsource.scanner.maven sonar-maven-plugin - 3.9.0.2155 + 3.9.1.2184 @@ -91,7 +91,7 @@ org.jacoco jacoco-maven-plugin - 0.8.7 + 0.8.8 @@ -131,7 +131,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.4.1 attach-javadocs diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/AnnotationBasedRulesDefinition.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/AnnotationBasedRulesDefinition.java index fe3b88863..9bcca6571 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/AnnotationBasedRulesDefinition.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/AnnotationBasedRulesDefinition.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/CheckRegistration.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/CheckRegistration.java index 7de9e55d6..c53602e4c 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/CheckRegistration.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/CheckRegistration.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/Constants.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/Constants.java index d4c9a6e96..9a17ef1c4 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/Constants.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/Constants.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or @@ -58,6 +58,7 @@ public class Constants { public static final String XML_DOCUMENT_RULES = "sonar.oe.xml.doc"; public static final String ASSEMBLY_CATALOG = "sonar.oe.assembly.catalog"; public static final String CLASS_DOCUMENTATION = "sonar.oe.classdoc"; + public static final String RTB_COMPATIBILITY = "sonar.oe.rtb"; private Constants() { diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/InvalidLicenseException.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/InvalidLicenseException.java index 61b8d2579..5a99239e3 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/InvalidLicenseException.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/InvalidLicenseException.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/LicenseRegistration.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/LicenseRegistration.java index e7097ad83..907e5a608 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/LicenseRegistration.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/LicenseRegistration.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/checks/OpenEdgeCheck.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/checks/OpenEdgeCheck.java index cc2671724..1a754ac2f 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/checks/OpenEdgeCheck.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/checks/OpenEdgeCheck.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/checks/OpenEdgeDumpFileCheck.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/checks/OpenEdgeDumpFileCheck.java index adb507394..922f97f8c 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/checks/OpenEdgeDumpFileCheck.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/checks/OpenEdgeDumpFileCheck.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/checks/OpenEdgeProparseCheck.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/checks/OpenEdgeProparseCheck.java index 0865aa678..e9d162cb6 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/checks/OpenEdgeProparseCheck.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/checks/OpenEdgeProparseCheck.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/ExcludeFromProfile.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/ExcludeFromProfile.java index aefaf8905..1c39e2447 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/ExcludeFromProfile.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/ExcludeFromProfile.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/ExcludeFromSonarLint.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/ExcludeFromSonarLint.java index 7a576b67f..e77243721 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/ExcludeFromSonarLint.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/ExcludeFromSonarLint.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/RuleTemplate.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/RuleTemplate.java index 210f4e12c..1d6a098d7 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/RuleTemplate.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/RuleTemplate.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/SqaleConstantRemediation.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/SqaleConstantRemediation.java index a0c2add47..98cd1ebf2 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/SqaleConstantRemediation.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/SqaleConstantRemediation.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/SqaleLinearRemediation.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/SqaleLinearRemediation.java index a8c868931..16e02d68d 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/SqaleLinearRemediation.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/SqaleLinearRemediation.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/SqaleLinearWithOffsetRemediation.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/SqaleLinearWithOffsetRemediation.java index 2cb7e2151..ce00732ff 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/SqaleLinearWithOffsetRemediation.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/model/SqaleLinearWithOffsetRemediation.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/DatabaseWrapper.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/DatabaseWrapper.java index 024fd342a..f00016971 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/DatabaseWrapper.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/DatabaseWrapper.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/FieldWrapper.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/FieldWrapper.java index 7cd031c5f..b534aa22f 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/FieldWrapper.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/FieldWrapper.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/IndexWrapper.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/IndexWrapper.java index 4b40cde88..ba026dfe0 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/IndexWrapper.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/IndexWrapper.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/TableWrapper.java b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/TableWrapper.java index 3b8352cba..79db2857c 100644 --- a/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/TableWrapper.java +++ b/openedge-checks/src/main/java/org/sonar/plugins/openedge/api/objects/TableWrapper.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/.settings/org.eclipse.jdt.core.prefs b/openedge-plugin/.settings/org.eclipse.jdt.core.prefs index a45024cdb..4f1dd0622 100644 --- a/openedge-plugin/.settings/org.eclipse.jdt.core.prefs +++ b/openedge-plugin/.settings/org.eclipse.jdt.core.prefs @@ -4,6 +4,7 @@ org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.processAnnotations=disabled org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false diff --git a/openedge-plugin/pom.xml b/openedge-plugin/pom.xml index 57b0dd2b5..4240dc7e9 100644 --- a/openedge-plugin/pom.xml +++ b/openedge-plugin/pom.xml @@ -4,7 +4,7 @@ eu.rssw.sonar.openedge sonar-openedge-plugin - 2.18.1 + 2.19.0 sonar-plugin OpenEdge plugin for SonarQube @@ -60,17 +60,17 @@ eu.rssw.openedge.checks openedge-checks - 2.18.1 + 2.19.0 eu.rssw.openedge.parsers listing-parser - 2.18.1 + 2.19.0 eu.rssw.openedge.parsers profiler-parser - 2.18.1 + 2.19.0 commons-io @@ -90,13 +90,13 @@ org.testng testng - 7.4.0 + 7.7.0 test org.slf4j slf4j-simple - 1.7.32 + 1.7.36 test @@ -123,7 +123,7 @@ org.jacoco jacoco-maven-plugin - 0.8.7 + 0.8.8 @@ -174,7 +174,7 @@ org.sonarsource.scanner.maven sonar-maven-plugin - 3.9.0.2155 + 3.9.1.2184 @@ -245,7 +245,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.4.1 attach-javadocs diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/OpenEdgePlugin.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/OpenEdgePlugin.java index 98816958f..25d440f14 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/OpenEdgePlugin.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/OpenEdgePlugin.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/ClumsySyntax.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/ClumsySyntax.java index e7be94792..496dcc00d 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/ClumsySyntax.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/ClumsySyntax.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2019-2022 Riverside Software + * Copyright (c) 2019-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/FixedLineNumberRule.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/FixedLineNumberRule.java index c8c5807b0..de1711047 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/FixedLineNumberRule.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/FixedLineNumberRule.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2019-2022 Riverside Software + * Copyright (c) 2019-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/LargeTransactionScope.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/LargeTransactionScope.java index 668f02e46..90da93ebc 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/LargeTransactionScope.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/LargeTransactionScope.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/MultiLineIssue.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/MultiLineIssue.java index 659eea217..aee2e92e6 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/MultiLineIssue.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/MultiLineIssue.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2019-2022 Riverside Software + * Copyright (c) 2019-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/NoOpDatabaseRule.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/NoOpDatabaseRule.java index f751a55d1..a05e6d574 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/NoOpDatabaseRule.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/NoOpDatabaseRule.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2019-2022 Riverside Software + * Copyright (c) 2019-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/NoSonarKeywordIssue.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/NoSonarKeywordIssue.java index 9e734c201..c8b1efa82 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/NoSonarKeywordIssue.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/checks/NoSonarKeywordIssue.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2019-2022 Riverside Software + * Copyright (c) 2019-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/decorator/CommonDBMetricsDecorator.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/decorator/CommonDBMetricsDecorator.java index a615c54fd..5d875c993 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/decorator/CommonDBMetricsDecorator.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/decorator/CommonDBMetricsDecorator.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/decorator/CommonMetricsDecorator.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/decorator/CommonMetricsDecorator.java index ca2f30ecf..d7b3e8e5f 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/decorator/CommonMetricsDecorator.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/decorator/CommonMetricsDecorator.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/BasicChecksRegistration.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/BasicChecksRegistration.java index e292eba15..550430a42 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/BasicChecksRegistration.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/BasicChecksRegistration.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/CPDCallback.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/CPDCallback.java index 3ee4d6f14..76de20869 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/CPDCallback.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/CPDCallback.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/IRefactorSessionEnv.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/IRefactorSessionEnv.java index 9cdfed239..4d1ebf811 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/IRefactorSessionEnv.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/IRefactorSessionEnv.java @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/InputFileUtils.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/InputFileUtils.java index 25a585eba..281fa48b8 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/InputFileUtils.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/InputFileUtils.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdge.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdge.java index d38a19dde..0c86c6e72 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdge.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdge.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeComponents.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeComponents.java index e168430b8..7d962dde2 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeComponents.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeComponents.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or @@ -31,10 +31,11 @@ import java.util.Optional; import org.prorefactor.proparse.antlr4.ProparseListener; +import org.sonar.api.CoreProperties; import org.sonar.api.SonarProduct; import org.sonar.api.batch.rule.ActiveRule; import org.sonar.api.batch.sensor.SensorContext; -import org.sonar.api.platform.Server; +import org.sonar.api.config.Configuration; import org.sonar.api.rule.RuleKey; import org.sonar.api.scanner.ScannerSide; import org.sonar.api.server.ServerSide; @@ -66,7 +67,7 @@ public class OpenEdgeComponents { private final Map ppChecksMap = new HashMap<>(); private final Map dfChecksMap = new HashMap<>(); - private final Server server; + private final Configuration config; private final CheckRegistrar checkRegistrar = new CheckRegistrar(); private final LicenseRegistrar licenseRegistrar = new LicenseRegistrar(); private final TreeParserRegistrar parserRegistrar = new TreeParserRegistrar(); @@ -79,24 +80,24 @@ public OpenEdgeComponents() { this(null, null, null, null); } - public OpenEdgeComponents(Server server) { - this(server, null, null, null); + public OpenEdgeComponents(Configuration config) { + this(config, null, null, null); } public OpenEdgeComponents(CheckRegistration[] checkRegistrars) { this(null, checkRegistrars, null, null); } - public OpenEdgeComponents(Server server, CheckRegistration[] checkRegistrars) { - this(server, checkRegistrars, null, null); + public OpenEdgeComponents(Configuration config, CheckRegistration[] checkRegistrars) { + this(config, checkRegistrars, null, null); } public OpenEdgeComponents(CheckRegistration[] checkRegistrars, LicenseRegistration[] licRegistrars) { this(null, checkRegistrars, licRegistrars, null); } - public OpenEdgeComponents(Server server, CheckRegistration[] checkRegistrars, LicenseRegistration[] licRegistrars) { - this(server, checkRegistrars, licRegistrars, null); + public OpenEdgeComponents(Configuration config, CheckRegistration[] checkRegistrars, LicenseRegistration[] licRegistrars) { + this(config, checkRegistrars, licRegistrars, null); } public OpenEdgeComponents(CheckRegistration[] checkRegistrars, LicenseRegistration[] licRegistrars, @@ -104,9 +105,9 @@ public OpenEdgeComponents(CheckRegistration[] checkRegistrars, LicenseRegistrati this(null, checkRegistrars, licRegistrars, tpRegistrars); } - public OpenEdgeComponents(Server server, CheckRegistration[] checkRegistrars, LicenseRegistration[] licRegistrars, + public OpenEdgeComponents(Configuration config, CheckRegistration[] checkRegistrars, LicenseRegistration[] licRegistrars, TreeParserRegistration[] tpRegistrars) { - this.server = server; + this.config = config; if (checkRegistrars != null) { for (CheckRegistration registration : checkRegistrars) { registration.register(checkRegistrar); @@ -271,7 +272,7 @@ private static Field getField(Object check, String key) { } public String getServerId() { - return server == null ? "" : server.getId(); + return config == null ? "" : config.get(CoreProperties.SERVER_ID).orElse(""); } private static class LicenseRegistrar implements LicenseRegistration.Registrar { diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeDB.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeDB.java index 6d3d474b1..a1d6579d9 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeDB.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeDB.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeDBProfile.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeDBProfile.java index 7ac491452..a29fa2bce 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeDBProfile.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeDBProfile.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeMetrics.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeMetrics.java index 8daaa3209..67f41dbc9 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeMetrics.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeMetrics.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeProfile.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeProfile.java index d983f8e94..62167e229 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeProfile.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeProfile.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeRulesDefinition.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeRulesDefinition.java index a9e923fc0..559b9ec05 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeRulesDefinition.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeRulesDefinition.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeSettings.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeSettings.java index c5c31e86a..680fbb2e7 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeSettings.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/foundation/OpenEdgeSettings.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or @@ -59,7 +59,6 @@ import org.sonar.api.batch.fs.FileSystem; import org.sonar.api.batch.fs.InputFile; import org.sonar.api.config.Configuration; -import org.sonar.api.platform.Server; import org.sonar.api.scanner.ScannerSide; import org.sonar.api.utils.log.Logger; import org.sonar.api.utils.log.Loggers; @@ -90,7 +89,6 @@ public class OpenEdgeSettings { private final Configuration config; private final FileSystem fileSystem; private final SonarRuntime runtime; - private final Server server; // Internal use private boolean init = false; @@ -108,16 +106,12 @@ public class OpenEdgeSettings { private RefactorSessionEnv sessionsEnv; private RefactorSession defaultSession; private String oePluginVersion; + private boolean rtbCompatibility; public OpenEdgeSettings(Configuration config, FileSystem fileSystem, SonarRuntime runtime) { - this(config, fileSystem, runtime, null); - } - - public OpenEdgeSettings(Configuration config, FileSystem fileSystem, SonarRuntime runtime, Server server) { this.config = config; this.fileSystem = fileSystem; this.runtime = runtime; - this.server = server; } public final void init() { @@ -127,12 +121,15 @@ public final void init() { oePluginVersion = readPluginVersion(this.getClass().getClassLoader(), "sonar-openedge.txt"); LOG.info("OpenEdge plugin version: {}", oePluginVersion); - LOG.info("Loading OpenEdge settings for server ID '{}'", server == null ? "" : server.getId()); + LOG.info("Loading OpenEdge settings for server ID '{}'", config.get(CoreProperties.SERVER_ID).orElse("")); initializeDirectories(config, fileSystem); initializePropathDlc(config); initializeDefaultPropath(config, fileSystem); initializeCPD(config); initializeIncludeExtensions(config); + rtbCompatibility = config.getBoolean(Constants.RTB_COMPATIBILITY).orElse(false); + if (rtbCompatibility) + LOG.info("Using Roundtable compatibility mode"); LOG.debug("Using backslash as escape character : {}", config.getBoolean(Constants.BACKSLASH_ESCAPE).orElse(false)); LOG.info("XML XREF filter activated"); @@ -473,7 +470,7 @@ public File getXrefFile(InputFile file) { if (Strings.isNullOrEmpty(relPath)) return null; else - return getFileFromPctDirs(relPath + ".xref"); + return rtbCompatibility ? getFileFromRtbListDir(relPath, ".x") : getFileFromPctDirs(relPath + ".xref"); } public File getSonarlintXrefFile(InputFile file) { @@ -488,7 +485,26 @@ public File getListingFile(InputFile file) { if (Strings.isNullOrEmpty(relPath)) return null; else - return getFileFromPctDirs(relPath); + return rtbCompatibility ? getFileFromRtbListDir(relPath, ".l") : getFileFromPctDirs(relPath); + } + + private File getFileFromRtbListDir(String fileName, String extension) { + Path path = Paths.get(fileName); + int lastPeriodPos = path.getFileName().toString().lastIndexOf('.'); + String targetFileName = lastPeriodPos == -1 ? path.getFileName().toString() + extension + : path.getFileName().toString().substring(0, lastPeriodPos) + extension; + Path targetPath = (path.getParent() == null ? Paths.get("list") : path.getParent().resolve("list")).resolve( + targetFileName); + LOG.debug("Trying to locate '{}' of '{}' in source directories as '{}'", extension, fileName, targetPath); + for (Path srcPath : sourcePaths) { + Path tmp = srcPath.resolve(targetPath); + if (tmp.toFile().exists()) { + LOG.debug(" Found in: {}", tmp); + return tmp.toFile(); + } + } + + return null; } private File getFileFromPctDirs(String relPath) { diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeCPDSensor.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeCPDSensor.java index a3b14ad19..ca030c583 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeCPDSensor.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeCPDSensor.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeCodeColorizer.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeCodeColorizer.java index 60fe25d7b..344ef93ab 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeCodeColorizer.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeCodeColorizer.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBColorizer.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBColorizer.java index b254257f6..b7398228f 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBColorizer.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBColorizer.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBRulesSensor.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBRulesSensor.java index a23f76ae1..e134f96b7 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBRulesSensor.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBRulesSensor.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBSensor.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBSensor.java index 4d2cfcda8..32781177a 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBSensor.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBSensor.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeProparseSensor.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeProparseSensor.java index 42fe0b5cf..fa5583f4c 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeProparseSensor.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeProparseSensor.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeSensor.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeSensor.java index 6376042b4..e2ac67f2b 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeSensor.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeSensor.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeWarningsSensor.java b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeWarningsSensor.java index 93541e5c4..7a387d1b3 100644 --- a/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeWarningsSensor.java +++ b/openedge-plugin/src/main/java/org/sonar/plugins/openedge/sensor/OpenEdgeWarningsSensor.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/OpenEdgePluginTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/OpenEdgePluginTest.java index 10bcb6788..918f1b7af 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/OpenEdgePluginTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/OpenEdgePluginTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or @@ -25,6 +25,7 @@ import org.sonar.api.SonarEdition; import org.sonar.api.SonarQubeSide; import org.sonar.api.SonarRuntime; +import org.sonar.api.config.internal.MapSettings; import org.sonar.api.internal.SonarRuntimeImpl; import org.sonar.api.platform.Server; import org.sonar.api.utils.Version; @@ -39,6 +40,7 @@ public class OpenEdgePluginTest { SonarEdition.COMMUNITY); public static final Server SERVER = new TestServer(); + public static final MapSettings SETTINGS = new MapSettings(); @Test public void testExtensionsSonarLint() { diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/AbstractTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/AbstractTest.java index 60c15eec9..e2f8b4442 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/AbstractTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/AbstractTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2019-2022 Riverside Software + * Copyright (c) 2019-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/ClumsySyntaxTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/ClumsySyntaxTest.java index 1cebb2103..282791c9d 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/ClumsySyntaxTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/ClumsySyntaxTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2019-2022 Riverside Software + * Copyright (c) 2019-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/FixedLineNumberIssueTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/FixedLineNumberIssueTest.java index f1c13a598..8d596c53e 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/FixedLineNumberIssueTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/FixedLineNumberIssueTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2019-2022 Riverside Software + * Copyright (c) 2019-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/IntegerRule.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/IntegerRule.java index 5f34ac18f..7773b67eb 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/IntegerRule.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/IntegerRule.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2019-2022 Riverside Software + * Copyright (c) 2019-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/MultiLineIssueTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/MultiLineIssueTest.java index 595b8f657..25b7ddee0 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/MultiLineIssueTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/MultiLineIssueTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2019-2022 Riverside Software + * Copyright (c) 2019-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/NoSonarKeywordRuleTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/NoSonarKeywordRuleTest.java index b6a149c22..8cd82e17b 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/NoSonarKeywordRuleTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/NoSonarKeywordRuleTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2019-2022 Riverside Software + * Copyright (c) 2019-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/TestChecksRegistration.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/TestChecksRegistration.java index a23b39dcc..9a4c50640 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/TestChecksRegistration.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/checks/TestChecksRegistration.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/CPDCallbackTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/CPDCallbackTest.java index 3c0339cf8..e10d65d53 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/CPDCallbackTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/CPDCallbackTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or @@ -60,7 +60,7 @@ public void initContext() throws IOException { public void test1() { SensorContextTester context = SensorContextTester.create(new File(BASEDIR)); OpenEdgeSettings settings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); settings.init(); InputFile inputFile = getInputFile(context, "cpd01.p"); ParseUnit unit = getParseUnit(inputFile); @@ -80,7 +80,7 @@ public void test1() { public void test2() { SensorContextTester context = SensorContextTester.create(new File(BASEDIR)); OpenEdgeSettings settings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); settings.init(); InputFile inputFile = getInputFile(context, "cpd02.p"); ParseUnit unit = getParseUnit(inputFile); @@ -103,7 +103,7 @@ public void test2() { public void test3() { SensorContextTester context = SensorContextTester.create(new File(BASEDIR)); OpenEdgeSettings settings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); settings.init(); InputFile inputFile = getInputFile(context, "cpd03.p"); ParseUnit unit = getParseUnit(inputFile); @@ -123,7 +123,7 @@ public void test3() { public void testNoProperties() { SensorContextTester context = SensorContextTester.create(new File(BASEDIR)); OpenEdgeSettings settings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); settings.init(); InputFile inputFile = getInputFile(context, "cpd04.p"); ParseUnit unit = getParseUnit(inputFile); @@ -144,7 +144,7 @@ public void testAnnotations() { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); oeSettings.init(); InputFile inputFile = getInputFile(context, "cpd04.p"); ParseUnit unit = getParseUnit(inputFile); @@ -166,7 +166,7 @@ public void testProcedures() { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); oeSettings.init(); InputFile inputFile = getInputFile(context, "cpd04.p"); ParseUnit unit = getParseUnit(inputFile); @@ -189,7 +189,7 @@ public void testAnnotationsAndProcedures() { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); oeSettings.init(); InputFile inputFile = getInputFile(context, "cpd04.p"); diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/InputFileUtilsTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/InputFileUtilsTest.java index e112828b2..9f8dcd6f6 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/InputFileUtilsTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/InputFileUtilsTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/OpenEdgeComponentsTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/OpenEdgeComponentsTest.java index d7afb141e..d4a71cd8c 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/OpenEdgeComponentsTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/OpenEdgeComponentsTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or @@ -35,11 +35,11 @@ public class OpenEdgeComponentsTest { @Test public void testNoLicenses() throws IOException { - OpenEdgeComponents components1 = new OpenEdgeComponents(OpenEdgePluginTest.SERVER); + OpenEdgeComponents components1 = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig()); assertEquals(components1.getLicenses().size(), 0); - OpenEdgeComponents components2 = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, new CheckRegistration[] {}); + OpenEdgeComponents components2 = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {}); assertEquals(components2.getLicenses().size(), 0); - OpenEdgeComponents components3 = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, new CheckRegistration[] {}, + OpenEdgeComponents components3 = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {}, new LicenseRegistration[] {}); assertEquals(components3.getLicenses().size(), 0); } @@ -59,42 +59,42 @@ public void testNoServer() throws IOException { @Test public void testOneLicense() throws IOException { - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, new CheckRegistration[] {}, + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {}, new LicenseRegistration[] {LICENSE_ME_OE_2015}); assertEquals(components.getLicenses().size(), 1); } @Test public void testTwoLicenses() throws IOException { - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, new CheckRegistration[] {}, + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {}, new LicenseRegistration[] {LICENSE_ME_OE_2015, LICENSE_ME_OE_2025}); assertEquals(components.getLicenses().size(), 1); } @Test public void testTwoPermId() throws IOException { - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, new CheckRegistration[] {}, + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {}, new LicenseRegistration[] {LICENSE_ME_OE_2015, LICENSE_YOU_OE_2025}); assertEquals(components.getLicenses().size(), 2); } @Test public void testTwoRepositories() throws IOException { - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, new CheckRegistration[] {}, + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {}, new LicenseRegistration[] {LICENSE_ME_OE_2015, LICENSE_YOU_OTHER_2015}); assertEquals(components.getLicenses().size(), 2); } @Test public void testThreeLicenses() throws IOException { - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, new CheckRegistration[] {}, + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {}, new LicenseRegistration[] {LICENSE_ME_OE_2015, LICENSE_ME_OE_2030, LICENSE_ME_OE_2025}); assertEquals(components.getLicenses().size(), 1); } @Test public void testMixedLicenses() throws IOException { - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, new CheckRegistration[] {}, + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {}, new LicenseRegistration[] { LICENSE_ME_OE_2015, LICENSE_ME_OE_2030, LICENSE_ME_OE_2025, LICENSE_YOU_OTHER_2015, LICENSE_YOU_OE_2015, LICENSE_YOU_OE_2015}); @@ -103,14 +103,14 @@ public void testMixedLicenses() throws IOException { @Test public void testSLPlusSQLicenses() throws IOException { - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, new CheckRegistration[] {}, + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {}, new LicenseRegistration[] {LICENSE_ME_OE_2025, LICENSE_SL_ME_OE_2025, LICENSE_SL_YOU_OE_2025}); assertEquals(components.getLicenses().size(), 3); } @Test public void testOldLicenses() throws IOException { - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, new CheckRegistration[] {}, + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {}, new LicenseRegistration[] {OLD_SONARQUBE_REGISTRATION, OLD_SONARLINT_REGISTRATION}); assertEquals(components.getLicenses().size(), 2); Iterator iter = components.getLicenses().iterator(); @@ -124,7 +124,7 @@ public void testOldLicenses() throws IOException { @Test public void testNewLicenses() throws IOException { - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, new CheckRegistration[] {}, + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {}, new LicenseRegistration[] {LICENSE_NEW_TYPE}); assertEquals(components.getLicenses().size(), 1); Iterator iter = components.getLicenses().iterator(); diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/TableWrapperTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/TableWrapperTest.java index 9edb3dbc7..1e2b16b19 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/TableWrapperTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/foundation/TableWrapperTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/InvalidXMLFilterStreamTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/InvalidXMLFilterStreamTest.java index 99372534a..3b4bb73e0 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/InvalidXMLFilterStreamTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/InvalidXMLFilterStreamTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeCPDSensorTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeCPDSensorTest.java index d78c9b595..bcdc02a78 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeCPDSensorTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeCPDSensorTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or @@ -46,7 +46,7 @@ public void testCPDSensor() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); OpenEdgeCPDSensor sensor = new OpenEdgeCPDSensor(oeSettings); sensor.execute(context); @@ -62,7 +62,7 @@ public void testCPDSensor() throws Exception { public void testCPDSensor02() throws Exception { SensorContextTester context = TestProjectSensorContext.createContext(); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); OpenEdgeCPDSensor sensor = new OpenEdgeCPDSensor(oeSettings); sensor.execute(context); diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeCodeColorizerTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeCodeColorizerTest.java index 57ca30a0a..c59f51c09 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeCodeColorizerTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeCodeColorizerTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or @@ -38,7 +38,7 @@ public class OpenEdgeCodeColorizerTest { public void testSp2k() throws Exception { SensorContextTester context = TestProjectSensorContext.createContext(); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); OpenEdgeCodeColorizer sensor = new OpenEdgeCodeColorizer(oeSettings); sensor.execute(context); diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBColorizerTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBColorizerTest.java index 838b4a704..13c3ae124 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBColorizerTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBColorizerTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBSensorTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBSensorTest.java index 9a335208d..bdec83955 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBSensorTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeDBSensorTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeProparseSensorTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeProparseSensorTest.java index 29cc29114..1a2d4c9bc 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeProparseSensorTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeProparseSensorTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or @@ -73,8 +73,8 @@ public void testCPDPreprocessorExpansion() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, null, null); + OpenEdgePluginTest.SONARQUBE_RUNTIME); + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), null, null); OpenEdgeProparseSensor sensor = new OpenEdgeProparseSensor(oeSettings, components); sensor.execute(context); @@ -99,8 +99,8 @@ public void testCPDPreprocessorExpansion02() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, null, null); + OpenEdgePluginTest.SONARQUBE_RUNTIME); + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), null, null); OpenEdgeProparseSensor sensor = new OpenEdgeProparseSensor(oeSettings, components); sensor.execute(context); @@ -118,8 +118,8 @@ public void testRules() throws Exception { Constants.LANGUAGE_KEY).build()); context.setActiveRules(rulesBuilder.build()); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, + OpenEdgePluginTest.SONARQUBE_RUNTIME); + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {new BasicChecksRegistration()}, null); OpenEdgeProparseSensor sensor = new OpenEdgeProparseSensor(oeSettings, components); sensor.execute(context); @@ -136,8 +136,8 @@ public void testSonarQubeRule() throws Exception { Constants.LANGUAGE_KEY).build()); context.setActiveRules(rulesBuilder.build()); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, + OpenEdgePluginTest.SONARQUBE_RUNTIME); + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {new TestChecksRegistration()}, null); OpenEdgeProparseSensor sensor = new OpenEdgeProparseSensor(oeSettings, components); sensor.execute(context); @@ -157,8 +157,8 @@ public void testSonarLintRule() throws Exception { Constants.LANGUAGE_KEY).build()); context.setActiveRules(rulesBuilder.build()); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARLINT_RUNTIME, OpenEdgePluginTest.SERVER); - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, + OpenEdgePluginTest.SONARLINT_RUNTIME); + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), new CheckRegistration[] {new TestChecksRegistration()}, null); OpenEdgeProparseSensor sensor = new OpenEdgeProparseSensor(oeSettings, components); sensor.execute(context); @@ -174,8 +174,8 @@ public void testListing() throws Exception { SensorContextTester context = TestProjectSensorContext.createContext(); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, null, null); + OpenEdgePluginTest.SONARQUBE_RUNTIME); + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), null, null); OpenEdgeProparseSensor sensor = new OpenEdgeProparseSensor(oeSettings, components); sensor.execute(context); @@ -200,7 +200,7 @@ public void testPreprocessorSettings01() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); assertFalse(oeSettings.getProparseSessions().getDefaultSession().getProparseSettings().getBatchMode()); assertEquals(oeSettings.getProparseSessions().getDefaultSession().getProparseSettings().getWindowSystem(), "foobar"); @@ -216,7 +216,7 @@ public void testPreprocessorSettings02() throws Exception { SensorContextTester context = TestProjectSensorContext.createContext(); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); assertTrue(oeSettings.getProparseSessions().getDefaultSession().getProparseSettings().getBatchMode()); assertEquals(oeSettings.getProparseSessions().getDefaultSession().getProparseSettings().getProcessArchitecture(), Integer.valueOf(64)); @@ -233,7 +233,7 @@ public void testInvalidDBInSonarLint() throws Exception { context.setRuntime(OpenEdgePluginTest.SONARLINT_RUNTIME); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARLINT_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARLINT_RUNTIME); try { oeSettings.getProparseSessions(); fail("RuntimeException should have been thrown"); @@ -251,7 +251,7 @@ public void testInvalidDBInSonarQube() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); try { oeSettings.getProparseSessions(); } catch (RuntimeException caught) { @@ -272,8 +272,8 @@ public void testTokenStartChars01() throws Exception { .build()); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, null, null); + OpenEdgePluginTest.SONARQUBE_RUNTIME); + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), null, null); OpenEdgeProparseSensor sensor = new OpenEdgeProparseSensor(oeSettings, components); sensor.execute(context); @@ -297,8 +297,8 @@ public void testTokenStartChars02() throws Exception { .build()); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, null, null); + OpenEdgePluginTest.SONARQUBE_RUNTIME); + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), null, null); OpenEdgeProparseSensor sensor = new OpenEdgeProparseSensor(oeSettings, components); sensor.execute(context); @@ -313,8 +313,8 @@ public void testProparseError() throws Exception { SensorContextTester context = TestProjectSensorContext.createContext(); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, null, null); + OpenEdgePluginTest.SONARQUBE_RUNTIME); + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), null, null); OpenEdgeProparseSensor sensor = new OpenEdgeProparseSensor(oeSettings, components); sensor.execute(context); @@ -330,8 +330,8 @@ public void testProparseErrorSonarLint() throws Exception { context.setRuntime(OpenEdgePluginTest.SONARLINT_RUNTIME); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARLINT_RUNTIME, OpenEdgePluginTest.SERVER); - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, null, null); + OpenEdgePluginTest.SONARLINT_RUNTIME); + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), null, null); OpenEdgeProparseSensor sensor = new OpenEdgeProparseSensor(oeSettings, components); sensor.execute(context); @@ -348,9 +348,9 @@ public void testNoProparseError() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); - OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SERVER, null, null); + OpenEdgeComponents components = new OpenEdgeComponents(OpenEdgePluginTest.SETTINGS.asConfig(), null, null); OpenEdgeProparseSensor sensor = new OpenEdgeProparseSensor(oeSettings, components); sensor.execute(context); diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeSensorTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeSensorTest.java index 2e6e5eeb1..7e4d9acab 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeSensorTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeSensorTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeSettingsTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeSettingsTest.java index 1fe41b0fd..f442283dd 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeSettingsTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeSettingsTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or @@ -51,7 +51,7 @@ public void testSameObject() throws Exception { context.setSettings(new MapSettings()); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); IProparseEnvironment ppSess = oeSettings.getProparseSessions().getDefaultSession(); assertSame(ppSess, oeSettings.getProparseSessions().getDefaultSession()); } @@ -61,7 +61,7 @@ public void testTwoSessions() throws Exception { SensorContextTester context = TestProjectSensorContextExtra.createContext(); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); IProparseEnvironment ppSess = oeSettings.getProparseSessions().getDefaultSession(); assertSame(ppSess, oeSettings.getProparseSessions().getDefaultSession()); assertSame(ppSess, oeSettings.getProparseSessions().getSession("src/procedures/test1.p")); @@ -83,7 +83,7 @@ public void testSonarDatabasesFromSonarQube01() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); IProparseEnvironment ppSess = oeSettings.getProparseSessions().getDefaultSession(); assertNotNull(ppSess); assertNotNull(ppSess.getSchema()); @@ -101,7 +101,7 @@ public void testSonarDatabasesFromSonarQube02() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); IProparseEnvironment ppSess = oeSettings.getProparseSessions().getDefaultSession(); assertNotNull(ppSess); assertNotNull(ppSess.getSchema()); @@ -126,7 +126,7 @@ public void testSonarDatabasesFromSonarQube03() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); IProparseEnvironment ppSess = oeSettings.getProparseSessions().getDefaultSession(); assertNotNull(ppSess); assertNotNull(ppSess.getSchema()); @@ -152,7 +152,7 @@ public void testSonarDatabasesFromSonarQube04() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); IProparseEnvironment ppSess = oeSettings.getProparseSessions().getDefaultSession(); assertNotNull(ppSess); assertNotNull(ppSess.getSchema()); @@ -182,7 +182,7 @@ public void testSonarDatabasesFromSonarLint01() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARLINT_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARLINT_RUNTIME); IProparseEnvironment ppSess = oeSettings.getProparseSessions().getDefaultSession(); assertNotNull(ppSess); assertNotNull(ppSess.getSchema()); @@ -213,7 +213,7 @@ public void testSonarDatabasesFromSonarLint02() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARLINT_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARLINT_RUNTIME); IProparseEnvironment ppSess = oeSettings.getProparseSessions().getDefaultSession(); assertNotNull(ppSess); assertNotNull(ppSess.getSchema()); @@ -240,7 +240,7 @@ public void testAssemblyCatalog() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARLINT_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARLINT_RUNTIME); IProparseEnvironment session = oeSettings.getProparseSessions().getDefaultSession(); ITypeInfo info = session.getTypeInfo("Progress.Json.ObjectModel.JsonArray"); @@ -272,7 +272,7 @@ public void testClassDocumentation() throws Exception { context.setSettings(settings); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); IProparseEnvironment session = oeSettings.getProparseSessions().getDefaultSession(); ClassDocumentation doc = session.getClassDocumentation("OpenEdge.Core.ByteBucket"); diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeWarningsSensorTest.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeWarningsSensorTest.java index 0c48ed016..db8deee7c 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeWarningsSensorTest.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/OpenEdgeWarningsSensorTest.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or @@ -46,7 +46,7 @@ public void testWarnings() throws IOException { SensorContextTester context = TestProjectSensorContext.createContext(); context.setActiveRules(createRules1()); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); OpenEdgeWarningsSensor sensor = new OpenEdgeWarningsSensor(oeSettings); sensor.execute(context); @@ -90,7 +90,7 @@ public void testWarnings02() throws IOException { SensorContextTester context = TestProjectSensorContext.createContext(); context.setActiveRules(createRules2()); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); OpenEdgeWarningsSensor sensor = new OpenEdgeWarningsSensor(oeSettings); sensor.execute(context); @@ -127,7 +127,7 @@ public void testWarningsDeactivated() throws IOException { SensorContextTester context = TestProjectSensorContext.createContext(); context.setActiveRules(createRules0()); OpenEdgeSettings oeSettings = new OpenEdgeSettings(context.config(), context.fileSystem(), - OpenEdgePluginTest.SONARQUBE_RUNTIME, OpenEdgePluginTest.SERVER); + OpenEdgePluginTest.SONARQUBE_RUNTIME); OpenEdgeWarningsSensor sensor = new OpenEdgeWarningsSensor(oeSettings); sensor.execute(context); diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/TestServer.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/TestServer.java index 26ae9ccb5..29a98d052 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/TestServer.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/sensor/TestServer.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/utils/TestProjectSensorContext.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/utils/TestProjectSensorContext.java index ab5d1fdd9..f2c2ad96f 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/utils/TestProjectSensorContext.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/utils/TestProjectSensorContext.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/utils/TestProjectSensorContextExtra.java b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/utils/TestProjectSensorContextExtra.java index d6e47ede7..3b4702a32 100644 --- a/openedge-plugin/src/test/java/org/sonar/plugins/openedge/utils/TestProjectSensorContextExtra.java +++ b/openedge-plugin/src/test/java/org/sonar/plugins/openedge/utils/TestProjectSensorContextExtra.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/pom.xml b/pom.xml index c558c5ca2..f5ef718d0 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ eu.rssw sonar-openedge - 2.18.1 + 2.19.0 pom OpenEdge plugin for SonarQube @@ -29,7 +29,7 @@ org.sonarsource.scanner.maven sonar-maven-plugin - 3.9.0.2155 + 3.9.1.2184 diff --git a/profiler-parser/.settings/org.eclipse.jdt.core.prefs b/profiler-parser/.settings/org.eclipse.jdt.core.prefs index a45024cdb..4f1dd0622 100644 --- a/profiler-parser/.settings/org.eclipse.jdt.core.prefs +++ b/profiler-parser/.settings/org.eclipse.jdt.core.prefs @@ -4,6 +4,7 @@ org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.processAnnotations=disabled org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false diff --git a/profiler-parser/pom.xml b/profiler-parser/pom.xml index 749d9fec8..63d5f66d9 100644 --- a/profiler-parser/pom.xml +++ b/profiler-parser/pom.xml @@ -4,7 +4,7 @@ eu.rssw.openedge.parsers profiler-parser - 2.18.1 + 2.19.0 OpenEdge profiler output lexer and parser OpenEdge profiler files parser @@ -51,12 +51,12 @@ org.antlr antlr4-runtime - 4.10.1 + 4.11.1 org.testng testng - 7.4.0 + 7.7.0 test @@ -67,7 +67,7 @@ org.sonarsource.scanner.maven sonar-maven-plugin - 3.9.0.2155 + 3.9.1.2184 @@ -76,7 +76,7 @@ org.jacoco jacoco-maven-plugin - 0.8.7 + 0.8.8 @@ -96,7 +96,7 @@ org.antlr antlr4-maven-plugin - 4.10.1 + 4.11.1 @@ -129,7 +129,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.4.1 attach-javadocs diff --git a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/CoverageSession.java b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/CoverageSession.java index 5ae0dc650..af46818cf 100644 --- a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/CoverageSession.java +++ b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/CoverageSession.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/FileCoverage.java b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/FileCoverage.java index a2cdf8fd0..4d880bfa0 100644 --- a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/FileCoverage.java +++ b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/FileCoverage.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/LineData.java b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/LineData.java index 0ba86bfa4..7c03d9163 100644 --- a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/LineData.java +++ b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/LineData.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/Module.java b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/Module.java index bcdbc354e..117feb388 100644 --- a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/Module.java +++ b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/Module.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/ProfilerSession.java b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/ProfilerSession.java index 592c9b07f..6168b3574 100644 --- a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/ProfilerSession.java +++ b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/ProfilerSession.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/ProfilerSessionVisitor.java b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/ProfilerSessionVisitor.java index 1a6434ead..ed6174ec0 100644 --- a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/ProfilerSessionVisitor.java +++ b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/ProfilerSessionVisitor.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/ProfilerUtils.java b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/ProfilerUtils.java index 03dd35e21..665065078 100644 --- a/profiler-parser/src/main/java/eu/rssw/antlr/profiler/ProfilerUtils.java +++ b/profiler-parser/src/main/java/eu/rssw/antlr/profiler/ProfilerUtils.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/profiler-parser/src/test/java/eu/rssw/antlr/profiler/TestProfiler.java b/profiler-parser/src/test/java/eu/rssw/antlr/profiler/TestProfiler.java index 0c5a6b1e6..1c6462f68 100644 --- a/profiler-parser/src/test/java/eu/rssw/antlr/profiler/TestProfiler.java +++ b/profiler-parser/src/test/java/eu/rssw/antlr/profiler/TestProfiler.java @@ -1,6 +1,6 @@ /* * OpenEdge plugin for SonarQube - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * contact AT riverside DASH software DOT fr * * This program is free software; you can redistribute it and/or diff --git a/proparse/.settings/org.eclipse.jdt.core.prefs b/proparse/.settings/org.eclipse.jdt.core.prefs index a45024cdb..396488c6d 100644 --- a/proparse/.settings/org.eclipse.jdt.core.prefs +++ b/proparse/.settings/org.eclipse.jdt.core.prefs @@ -4,6 +4,7 @@ org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.processAnnotations=enabled org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false diff --git a/proparse/pom.xml b/proparse/pom.xml index 9a805afb8..038dc1bef 100644 --- a/proparse/pom.xml +++ b/proparse/pom.xml @@ -4,7 +4,7 @@ eu.rssw.openedge.parsers proparse - 2.18.1 + 2.19.0 Proparse ABL code parser @@ -55,27 +55,27 @@ eu.rssw.openedge.rcode rcode-reader - 2.18.1 + 2.19.0 org.antlr antlr4-runtime - 4.10.1 + 4.11.1 org.slf4j slf4j-api - 1.7.32 + 1.7.36 com.google.guava guava - 31.0.1-jre + 31.1-jre com.google.code.gson gson - 2.8.9 + 2.10 com.google.inject @@ -106,13 +106,13 @@ org.testng testng - 7.4.0 + 7.7.0 test org.slf4j slf4j-simple - 1.7.32 + 1.7.36 test @@ -129,7 +129,7 @@ org.sonarsource.scanner.maven sonar-maven-plugin - 3.9.0.2155 + 3.9.1.2184 @@ -155,7 +155,7 @@ org.jacoco jacoco-maven-plugin - 0.8.7 + 0.8.8 @@ -175,7 +175,7 @@ org.antlr antlr4-maven-plugin - 4.10.1 + 4.11.1 src/main/antlr4/imports @@ -211,7 +211,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.4.1 attach-javadocs diff --git a/proparse/src/main/antlr4/org/prorefactor/proparse/antlr4/Proparse.g4 b/proparse/src/main/antlr4/org/prorefactor/proparse/antlr4/Proparse.g4 index 593417887..d036dd334 100644 --- a/proparse/src/main/antlr4/org/prorefactor/proparse/antlr4/Proparse.g4 +++ b/proparse/src/main/antlr4/org/prorefactor/proparse/antlr4/Proparse.g4 @@ -126,7 +126,6 @@ blockOrStatement: emptyStatement | annotation | dotComment - | labeledBlock | assignStatement2 | statement | expressionStatement @@ -154,11 +153,6 @@ expressionStatement: expression NOERROR? statementEnd ; -labeledBlock: - blockLabel - LEXCOLON ( doStatement | forStatement | repeatStatement ) - ; - blockColon: LEXCOLON | PERIOD ; @@ -2020,7 +2014,7 @@ displayWith: ; doStatement: - DO blockFor? blockPreselect? blockOption* doStatementSub + ( blockLabel LEXCOLON )? DO blockFor? blockPreselect? blockOption* doStatementSub ; doStatementSub: @@ -2174,7 +2168,7 @@ fontExpression: ; forStatement: - FOR multiRecordSearch blockOption* forstate_sub + ( blockLabel LEXCOLON )? FOR multiRecordSearch blockOption* forstate_sub ; forstate_sub: @@ -2797,7 +2791,7 @@ nextValueFunction: ; noReturnValueStatement: - NORETURNVALUE expressionTerm statementEnd // Only limited subset of expressionTerm is valid here + NORETURNVALUE expressionTerm NOERROR? statementEnd // Only limited subset of expressionTerm is valid here ; nullPhrase: @@ -3125,7 +3119,7 @@ readkeyStatement: ; repeatStatement: - REPEAT blockFor? blockPreselect? blockOption* repeatStatementSub + ( blockLabel LEXCOLON )? REPEAT blockFor? blockPreselect? blockOption* repeatStatementSub ; repeatStatementSub: diff --git a/proparse/src/main/java/com/progress/xref/CrossReference.java b/proparse/src/main/java/com/progress/xref/CrossReference.java index 474ce355e..42d6be03d 100644 --- a/proparse/src/main/java/com/progress/xref/CrossReference.java +++ b/proparse/src/main/java/com/progress/xref/CrossReference.java @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at diff --git a/proparse/src/main/java/com/progress/xref/CrossReferenceUtils.java b/proparse/src/main/java/com/progress/xref/CrossReferenceUtils.java index 2a528132c..81afd3492 100644 --- a/proparse/src/main/java/com/progress/xref/CrossReferenceUtils.java +++ b/proparse/src/main/java/com/progress/xref/CrossReferenceUtils.java @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at diff --git a/proparse/src/main/java/com/progress/xref/InvalidXMLFilterStream.java b/proparse/src/main/java/com/progress/xref/InvalidXMLFilterStream.java index 6f9089514..ed0ca34bc 100644 --- a/proparse/src/main/java/com/progress/xref/InvalidXMLFilterStream.java +++ b/proparse/src/main/java/com/progress/xref/InvalidXMLFilterStream.java @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at diff --git a/proparse/src/main/java/com/progress/xref/ObjectFactory.java b/proparse/src/main/java/com/progress/xref/ObjectFactory.java index 5b9c4476b..ca6429401 100644 --- a/proparse/src/main/java/com/progress/xref/ObjectFactory.java +++ b/proparse/src/main/java/com/progress/xref/ObjectFactory.java @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at diff --git a/proparse/src/main/java/org/prorefactor/core/ABLNodeType.java b/proparse/src/main/java/org/prorefactor/core/ABLNodeType.java index cba2fa812..a9fa7222c 100644 --- a/proparse/src/main/java/org/prorefactor/core/ABLNodeType.java +++ b/proparse/src/main/java/org/prorefactor/core/ABLNodeType.java @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at diff --git a/proparse/src/main/java/org/prorefactor/core/FlatListBuilder.java b/proparse/src/main/java/org/prorefactor/core/FlatListBuilder.java index f0a409b7d..e9ea5da0e 100644 --- a/proparse/src/main/java/org/prorefactor/core/FlatListBuilder.java +++ b/proparse/src/main/java/org/prorefactor/core/FlatListBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at diff --git a/proparse/src/main/java/org/prorefactor/core/ICallback.java b/proparse/src/main/java/org/prorefactor/core/ICallback.java index aabbfa863..171e3cf77 100644 --- a/proparse/src/main/java/org/prorefactor/core/ICallback.java +++ b/proparse/src/main/java/org/prorefactor/core/ICallback.java @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at diff --git a/proparse/src/main/java/org/prorefactor/core/IConstants.java b/proparse/src/main/java/org/prorefactor/core/IConstants.java index 8c73772e6..362b2ff65 100644 --- a/proparse/src/main/java/org/prorefactor/core/IConstants.java +++ b/proparse/src/main/java/org/prorefactor/core/IConstants.java @@ -1,6 +1,6 @@ /******************************************************************************** * Copyright (c) 2003-2015 John Green - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at diff --git a/proparse/src/main/java/org/prorefactor/core/JPNode.java b/proparse/src/main/java/org/prorefactor/core/JPNode.java index 0d8093c5e..8078b8fd5 100644 --- a/proparse/src/main/java/org/prorefactor/core/JPNode.java +++ b/proparse/src/main/java/org/prorefactor/core/JPNode.java @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2015-2022 Riverside Software + * Copyright (c) 2015-2023 Riverside Software * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -896,6 +896,7 @@ public static class Builder { private String xtra1; private boolean expression; private boolean block; + private String blockLabel; public Builder(ProToken tok) { this.tok = tok; @@ -1003,6 +1004,11 @@ public Builder setBlock(boolean block) { return this; } + public Builder setBlockLabel(String label) { + this.blockLabel = label; + return this; + } + /** * Transforms
x1 - x2 - x3 - x4
into *
@@ -1167,7 +1173,7 @@ private JPNode build(ParserSupport support, JPNode up, int num) {
             break;
           default:
             if (stmt && block)
-              node = new StatementBlockNode(tok, up, num, hasChildren, stmt2);
+              node = new StatementBlockNode(tok, up, num, hasChildren, stmt2, blockLabel);
             else if (stmt)
               node = new StatementNode(tok, up, num, hasChildren, stmt2);
             else if (block)
diff --git a/proparse/src/main/java/org/prorefactor/core/JPNodeExpressionQuery.java b/proparse/src/main/java/org/prorefactor/core/JPNodeExpressionQuery.java
index 890c1ef90..d2a9984b9 100644
--- a/proparse/src/main/java/org/prorefactor/core/JPNodeExpressionQuery.java
+++ b/proparse/src/main/java/org/prorefactor/core/JPNodeExpressionQuery.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/JPNodeMetrics.java b/proparse/src/main/java/org/prorefactor/core/JPNodeMetrics.java
index c0153272c..b9970ad8d 100644
--- a/proparse/src/main/java/org/prorefactor/core/JPNodeMetrics.java
+++ b/proparse/src/main/java/org/prorefactor/core/JPNodeMetrics.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/JPNodePredicateQuery.java b/proparse/src/main/java/org/prorefactor/core/JPNodePredicateQuery.java
index 6b60dd44c..feaf77237 100644
--- a/proparse/src/main/java/org/prorefactor/core/JPNodePredicateQuery.java
+++ b/proparse/src/main/java/org/prorefactor/core/JPNodePredicateQuery.java
@@ -20,7 +20,7 @@
 
 class JPNodePredicateQuery implements ICallback> {
   public static final Predicate MAIN_FILE_ONLY = node -> node.getFileIndex() == 0;
-  public static final Predicate STATEMENT_ONLY = node -> node.isStateHead();
+  public static final Predicate STATEMENT_ONLY = JPNode::isStateHead;
 
   private final List result = new ArrayList<>();
   private final List> predicates = new ArrayList<>();
diff --git a/proparse/src/main/java/org/prorefactor/core/JPNodeQuery.java b/proparse/src/main/java/org/prorefactor/core/JPNodeQuery.java
index 15f954e69..6b5631b46 100644
--- a/proparse/src/main/java/org/prorefactor/core/JPNodeQuery.java
+++ b/proparse/src/main/java/org/prorefactor/core/JPNodeQuery.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/JsonNodeLister.java b/proparse/src/main/java/org/prorefactor/core/JsonNodeLister.java
index d7d951226..9ae47b391 100644
--- a/proparse/src/main/java/org/prorefactor/core/JsonNodeLister.java
+++ b/proparse/src/main/java/org/prorefactor/core/JsonNodeLister.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/NodeTypesOption.java b/proparse/src/main/java/org/prorefactor/core/NodeTypesOption.java
index 9862f727e..9289c148e 100644
--- a/proparse/src/main/java/org/prorefactor/core/NodeTypesOption.java
+++ b/proparse/src/main/java/org/prorefactor/core/NodeTypesOption.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/ProToken.java b/proparse/src/main/java/org/prorefactor/core/ProToken.java
index 903b88198..be04f217d 100644
--- a/proparse/src/main/java/org/prorefactor/core/ProToken.java
+++ b/proparse/src/main/java/org/prorefactor/core/ProToken.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
@@ -77,6 +77,12 @@ public int getLine() {
     return line;
   }
 
+  /**
+   * The index of the first character of this token relative to the beginning of the line at which it occurs.
+   * 
+   * IMPORTANT: While the ANTLR4 Token interface specifies that charPositionInLine should start at 0, the ProToken
+   * implementation starts at 1. This implementation detail might change in the future (if that's not too late).
+   */
   @Override
   public int getCharPositionInLine() {
     return charPositionInLine;
@@ -143,6 +149,11 @@ public int getEndLine() {
     return endLine;
   }
 
+  /**
+   * The index of the last character of this token relative to the beginning of the line at which it occurs. This means
+   * that the first character of next token will be at this position + 1. Also means that getCharPositionInLine() ==
+   * getEndCharPositionInLine() for single-character tokens.
+   */
   public int getEndCharPositionInLine() {
     return endCharPositionInLine;
   }
diff --git a/proparse/src/main/java/org/prorefactor/core/ProgressString.java b/proparse/src/main/java/org/prorefactor/core/ProgressString.java
index 54a230dad..c1e8cac89 100644
--- a/proparse/src/main/java/org/prorefactor/core/ProgressString.java
+++ b/proparse/src/main/java/org/prorefactor/core/ProgressString.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/ProparseRuntimeException.java b/proparse/src/main/java/org/prorefactor/core/ProparseRuntimeException.java
index f459bef20..e75e70fff 100644
--- a/proparse/src/main/java/org/prorefactor/core/ProparseRuntimeException.java
+++ b/proparse/src/main/java/org/prorefactor/core/ProparseRuntimeException.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/WritableProToken.java b/proparse/src/main/java/org/prorefactor/core/WritableProToken.java
index 220647ff7..039f4a214 100644
--- a/proparse/src/main/java/org/prorefactor/core/WritableProToken.java
+++ b/proparse/src/main/java/org/prorefactor/core/WritableProToken.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/AggregateExpression.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/AggregateExpression.java
index da3088fe7..61b30560e 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/AggregateExpression.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/AggregateExpression.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/ArrayReferenceNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/ArrayReferenceNode.java
index e15cd3872..255cde447 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/ArrayReferenceNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/ArrayReferenceNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/AttributeReferenceNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/AttributeReferenceNode.java
index 811c79e27..5c2b2639e 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/AttributeReferenceNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/AttributeReferenceNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
@@ -26,7 +26,7 @@
 import eu.rssw.pct.elements.PrimitiveDataType;
 
 /**
- * Expression node: <expr>:attributeName
+ * Expression node: <expr>:attributeName. Can also be a reference to an enum value.
  */
 public class AttributeReferenceNode extends ExpressionNode {
   private String attributeName = "";
@@ -42,30 +42,35 @@ public String getAttributeName() {
 
   @Override
   public DataType getDataType() {
+    ProgramRootNode root = getTopLevelParent();
+    if (root == null)
+      return DataType.NOT_COMPUTED;
+
     if (getFirstChild() instanceof SystemHandleNode) {
       SystemHandleNode shn = (SystemHandleNode) getFirstChild();
       return shn.getAttributeDataType(attributeName.toUpperCase());
+    } else if ((getFirstChild() instanceof FieldRefNode) && ((FieldRefNode) getFirstChild()).isStaticReference()) {
+      ITypeInfo info = ((FieldRefNode) getFirstChild()).getStaticReference();
+      return ExpressionNode.getObjectAttributeDataType(getTopLevelParent().getEnvironment(), info, attributeName,
+          false);
     }
 
-    ProgramRootNode root = getTopLevelParent();
-    if (root == null)
-      return DataType.NOT_COMPUTED;
-
     // Left-Handle expression has to be a class
     IExpression expr = getFirstChild().asIExpression();
-    if (expr.getDataType().getPrimitive() == PrimitiveDataType.CLASS) {
+    PrimitiveDataType pdt = expr.getDataType().getPrimitive();
+    if (pdt == PrimitiveDataType.CLASS) {
       ITypeInfo info = root.getEnvironment().getTypeInfo(expr.getDataType().getClassName());
       if (info != null) {
         for (IPropertyElement m : info.getProperties()) {
           if (m.getName().equalsIgnoreCase(attributeName))
             return m.getVariable().getDataType();
         }
-        for (IVariableElement e: info.getVariables()) {
+        for (IVariableElement e : info.getVariables()) {
           if (e.getName().equalsIgnoreCase(attributeName))
             return e.getDataType();
         }
       }
-    } else if (expr.getDataType().getPrimitive() == PrimitiveDataType.HANDLE) {
+    } else if (pdt == PrimitiveDataType.HANDLE) {
       return ExpressionNode.getStandardAttributeDataType(attributeName.toUpperCase());
     }
 
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/BuiltinFunctionNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/BuiltinFunctionNode.java
index 84ac9e71a..31cf75e68 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/BuiltinFunctionNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/BuiltinFunctionNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/CanFindNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/CanFindNode.java
index 0f5f941e6..f17789732 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/CanFindNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/CanFindNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/ConstantNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/ConstantNode.java
index 8d7a2d5dd..2d880dab5 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/ConstantNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/ConstantNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/EnteredFunction.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/EnteredFunction.java
index 981bfd8e5..f609552fd 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/EnteredFunction.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/EnteredFunction.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/ExpressionNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/ExpressionNode.java
index 0e7fe3393..580e5c824 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/ExpressionNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/ExpressionNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
@@ -746,18 +746,19 @@ static DataType getObjectMethodDataType(IProparseEnvironment session, ITypeInfo
     return DataType.NOT_COMPUTED;
   }
 
-  static DataType getObjectAttributeDataType(IProparseEnvironment session, ITypeInfo info, String methodName, boolean firstLevel) {
+  static DataType getObjectAttributeDataType(IProparseEnvironment session, ITypeInfo info, String methodName,
+      boolean firstLevel) {
     while (info != null) {
       for (IPropertyElement prop : info.getProperties()) {
         if (prop.getName().equalsIgnoreCase(methodName))
           return prop.getVariable().getDataType();
       }
       if (firstLevel) {
-      for (IVariableElement v : info.getVariables()) {
-        if (v.getName().equalsIgnoreCase(methodName))
-          return v.getDataType();
-      }
-      firstLevel = false;
+        for (IVariableElement v : info.getVariables()) {
+          if (v.getName().equalsIgnoreCase(methodName))
+            return v.getDataType();
+        }
+        firstLevel = false;
       }
       info = session.getTypeInfo(info.getParentTypeName());
     }
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/FieldRefNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/FieldRefNode.java
index c262cf2c1..6b7c41805 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/FieldRefNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/FieldRefNode.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
@@ -22,9 +22,10 @@
 import org.prorefactor.treeparser.Primitive;
 
 import eu.rssw.pct.elements.DataType;
+import eu.rssw.pct.elements.ITypeInfo;
 
 /**
- * Expression node: ID where ID is a variable, field name, ...
+ * Expression node: ID where ID is a variable, field name, type name, ...
  */
 public class FieldRefNode extends ExpressionNode {
   private ContextQualifier qualifier;
@@ -32,6 +33,7 @@ public class FieldRefNode extends ExpressionNode {
   private boolean unqualifiedField;
   private boolean inlineVar;
   private boolean abbrev;
+  private ITypeInfo staticRef;
 
   public FieldRefNode(ProToken t, JPNode parent, int num, boolean hasChildren) {
     super(t, parent, num, hasChildren);
@@ -78,6 +80,18 @@ public boolean isAbbreviated() {
     return abbrev;
   }
 
+  public boolean isStaticReference() {
+    return staticRef != null;
+  }
+
+  public ITypeInfo getStaticReference() {
+    return staticRef;
+  }
+
+  public void setStaticReference(ITypeInfo info) {
+    this.staticRef = info;
+  }
+
   /**
    * Returns null if symbol is null or is a graphical component
    */
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/IExpression.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/IExpression.java
index 63c9a40dd..7033885df 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/IExpression.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/IExpression.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/IStatement.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/IStatement.java
index 788c2e850..596d8cc6d 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/IStatement.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/IStatement.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/IStatementBlock.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/IStatementBlock.java
index 818ed67ef..1611cb9d1 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/IStatementBlock.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/IStatementBlock.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/InUIReferenceNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/InUIReferenceNode.java
index d49c6778d..0d929a285 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/InUIReferenceNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/InUIReferenceNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/LocalMethodCallNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/LocalMethodCallNode.java
index 175541e8b..a53e9c50a 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/LocalMethodCallNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/LocalMethodCallNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/MethodCallNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/MethodCallNode.java
index e85c2db26..6bed28207 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/MethodCallNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/MethodCallNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
@@ -40,13 +40,17 @@ public String getMethodName() {
 
   @Override
   public DataType getDataType() {
+    ProgramRootNode root = getTopLevelParent();
+    if (root == null)
+      return DataType.NOT_COMPUTED;
+
     if (getFirstChild() instanceof SystemHandleNode) {
       SystemHandleNode shn = (SystemHandleNode) getFirstChild();
       return shn.getMethodDataType(methodName.toUpperCase());
+    } else if ((getFirstChild() instanceof FieldRefNode) && ((FieldRefNode) getFirstChild()).isStaticReference()) {
+      ITypeInfo info = ((FieldRefNode) getFirstChild()).getStaticReference();
+      return ExpressionNode.getObjectMethodDataType(getTopLevelParent().getEnvironment(), info, methodName);
     }
-    ProgramRootNode root = getTopLevelParent();
-    if (root == null)
-      return DataType.NOT_COMPUTED;
 
     // Left-Handle expression has to be a class
     IExpression expr = getFirstChild().asIExpression();
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/NamedMemberArrayNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/NamedMemberArrayNode.java
index 7ddd300f0..5b1ca4ed6 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/NamedMemberArrayNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/NamedMemberArrayNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/NamedMemberNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/NamedMemberNode.java
index 8cb4aab04..0c812073b 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/NamedMemberNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/NamedMemberNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/NewTypeNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/NewTypeNode.java
index f51b8364b..d3ea7db57 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/NewTypeNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/NewTypeNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/NonStatementBlockNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/NonStatementBlockNode.java
index 9dccecff4..8e691228d 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/NonStatementBlockNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/NonStatementBlockNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/ProgramRootNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/ProgramRootNode.java
index 29c237afe..8386b19fd 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/ProgramRootNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/ProgramRootNode.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/RecordNameNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/RecordNameNode.java
index 66cb0c5ca..b011c9228 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/RecordNameNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/RecordNameNode.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/SingleArgumentExpression.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/SingleArgumentExpression.java
index 5712c881e..881a51ea5 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/SingleArgumentExpression.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/SingleArgumentExpression.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/StatementBlockNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/StatementBlockNode.java
index 88c452e3a..f02d11fee 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/StatementBlockNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/StatementBlockNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
@@ -27,11 +27,21 @@
  * METHOD, CATCH, ON
  */
 public class StatementBlockNode extends StatementNode implements IStatementBlock {
+  private final String label;
   private Block block;
   private IStatement firstStatement;
 
   public StatementBlockNode(ProToken t, JPNode parent, int num, boolean hasChildren, ABLNodeType state2) {
+    this(t, parent, num, hasChildren, state2, null);
+  }
+
+  public StatementBlockNode(ProToken t, JPNode parent, int num, boolean hasChildren, ABLNodeType state2, String label) {
     super(t, parent, num, hasChildren, state2);
+    this.label = label;
+  }
+
+  public String getBlockLabel() {
+    return label;
   }
 
   @Override
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/StatementNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/StatementNode.java
index fce082844..09b0a68f9 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/StatementNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/StatementNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/SystemHandleNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/SystemHandleNode.java
index c861ba851..268173567 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/SystemHandleNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/SystemHandleNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/TwoArgumentsExpression.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/TwoArgumentsExpression.java
index ea6282bb6..4a5c1c4c0 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/TwoArgumentsExpression.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/TwoArgumentsExpression.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/TypeNameNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/TypeNameNode.java
index 122b53251..db4706c2b 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/TypeNameNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/TypeNameNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/UserFunctionCallNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/UserFunctionCallNode.java
index c2f635518..ba2ebe437 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/UserFunctionCallNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/UserFunctionCallNode.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/nodetypes/WidgetNode.java b/proparse/src/main/java/org/prorefactor/core/nodetypes/WidgetNode.java
index 66603c95e..e049a8af1 100644
--- a/proparse/src/main/java/org/prorefactor/core/nodetypes/WidgetNode.java
+++ b/proparse/src/main/java/org/prorefactor/core/nodetypes/WidgetNode.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/schema/Constants.java b/proparse/src/main/java/org/prorefactor/core/schema/Constants.java
index 36e48e373..ab4c1ad7e 100644
--- a/proparse/src/main/java/org/prorefactor/core/schema/Constants.java
+++ b/proparse/src/main/java/org/prorefactor/core/schema/Constants.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/schema/Database.java b/proparse/src/main/java/org/prorefactor/core/schema/Database.java
index 2ac551557..4d8e23bc1 100644
--- a/proparse/src/main/java/org/prorefactor/core/schema/Database.java
+++ b/proparse/src/main/java/org/prorefactor/core/schema/Database.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/schema/Field.java b/proparse/src/main/java/org/prorefactor/core/schema/Field.java
index 743105297..043357092 100644
--- a/proparse/src/main/java/org/prorefactor/core/schema/Field.java
+++ b/proparse/src/main/java/org/prorefactor/core/schema/Field.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/schema/IDatabase.java b/proparse/src/main/java/org/prorefactor/core/schema/IDatabase.java
index 35a6511eb..045d5775c 100644
--- a/proparse/src/main/java/org/prorefactor/core/schema/IDatabase.java
+++ b/proparse/src/main/java/org/prorefactor/core/schema/IDatabase.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/schema/IField.java b/proparse/src/main/java/org/prorefactor/core/schema/IField.java
index 650451af0..8476063b9 100644
--- a/proparse/src/main/java/org/prorefactor/core/schema/IField.java
+++ b/proparse/src/main/java/org/prorefactor/core/schema/IField.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/schema/IIndex.java b/proparse/src/main/java/org/prorefactor/core/schema/IIndex.java
index 9b40cb21a..d6f07dc2e 100644
--- a/proparse/src/main/java/org/prorefactor/core/schema/IIndex.java
+++ b/proparse/src/main/java/org/prorefactor/core/schema/IIndex.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/schema/ISchema.java b/proparse/src/main/java/org/prorefactor/core/schema/ISchema.java
index 8fec18332..8a06ebe54 100644
--- a/proparse/src/main/java/org/prorefactor/core/schema/ISchema.java
+++ b/proparse/src/main/java/org/prorefactor/core/schema/ISchema.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/schema/ITable.java b/proparse/src/main/java/org/prorefactor/core/schema/ITable.java
index 56e8497ac..2ddf11b4f 100644
--- a/proparse/src/main/java/org/prorefactor/core/schema/ITable.java
+++ b/proparse/src/main/java/org/prorefactor/core/schema/ITable.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/schema/Index.java b/proparse/src/main/java/org/prorefactor/core/schema/Index.java
index 8ab6ea9c2..ce23bc998 100644
--- a/proparse/src/main/java/org/prorefactor/core/schema/Index.java
+++ b/proparse/src/main/java/org/prorefactor/core/schema/Index.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/schema/Schema.java b/proparse/src/main/java/org/prorefactor/core/schema/Schema.java
index a16576618..823f22f00 100644
--- a/proparse/src/main/java/org/prorefactor/core/schema/Schema.java
+++ b/proparse/src/main/java/org/prorefactor/core/schema/Schema.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/core/schema/Table.java b/proparse/src/main/java/org/prorefactor/core/schema/Table.java
index 1c7eeb6dc..32b8c2ce5 100644
--- a/proparse/src/main/java/org/prorefactor/core/schema/Table.java
+++ b/proparse/src/main/java/org/prorefactor/core/schema/Table.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/macrolevel/IPreprocessorEventListener.java b/proparse/src/main/java/org/prorefactor/macrolevel/IPreprocessorEventListener.java
index 34775331e..812575d4e 100644
--- a/proparse/src/main/java/org/prorefactor/macrolevel/IPreprocessorEventListener.java
+++ b/proparse/src/main/java/org/prorefactor/macrolevel/IPreprocessorEventListener.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/macrolevel/IncludeRef.java b/proparse/src/main/java/org/prorefactor/macrolevel/IncludeRef.java
index ed24385b5..1a788fe8a 100644
--- a/proparse/src/main/java/org/prorefactor/macrolevel/IncludeRef.java
+++ b/proparse/src/main/java/org/prorefactor/macrolevel/IncludeRef.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/macrolevel/MacroDef.java b/proparse/src/main/java/org/prorefactor/macrolevel/MacroDef.java
index 23f745f5a..11cc17366 100644
--- a/proparse/src/main/java/org/prorefactor/macrolevel/MacroDef.java
+++ b/proparse/src/main/java/org/prorefactor/macrolevel/MacroDef.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/macrolevel/MacroDefinitionType.java b/proparse/src/main/java/org/prorefactor/macrolevel/MacroDefinitionType.java
index 38903153f..2c222adea 100644
--- a/proparse/src/main/java/org/prorefactor/macrolevel/MacroDefinitionType.java
+++ b/proparse/src/main/java/org/prorefactor/macrolevel/MacroDefinitionType.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/macrolevel/MacroEvent.java b/proparse/src/main/java/org/prorefactor/macrolevel/MacroEvent.java
index 7c6ed8515..cf6740528 100644
--- a/proparse/src/main/java/org/prorefactor/macrolevel/MacroEvent.java
+++ b/proparse/src/main/java/org/prorefactor/macrolevel/MacroEvent.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/macrolevel/MacroLevel.java b/proparse/src/main/java/org/prorefactor/macrolevel/MacroLevel.java
index 5a7ed0052..204196cc5 100644
--- a/proparse/src/main/java/org/prorefactor/macrolevel/MacroLevel.java
+++ b/proparse/src/main/java/org/prorefactor/macrolevel/MacroLevel.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/macrolevel/MacroPosition.java b/proparse/src/main/java/org/prorefactor/macrolevel/MacroPosition.java
index 4416b8aec..6f8e6c08b 100644
--- a/proparse/src/main/java/org/prorefactor/macrolevel/MacroPosition.java
+++ b/proparse/src/main/java/org/prorefactor/macrolevel/MacroPosition.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/macrolevel/MacroRef.java b/proparse/src/main/java/org/prorefactor/macrolevel/MacroRef.java
index 36e1e47fa..df2fb4266 100644
--- a/proparse/src/main/java/org/prorefactor/macrolevel/MacroRef.java
+++ b/proparse/src/main/java/org/prorefactor/macrolevel/MacroRef.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/macrolevel/NamedMacroRef.java b/proparse/src/main/java/org/prorefactor/macrolevel/NamedMacroRef.java
index 81e83345f..5b82d5568 100644
--- a/proparse/src/main/java/org/prorefactor/macrolevel/NamedMacroRef.java
+++ b/proparse/src/main/java/org/prorefactor/macrolevel/NamedMacroRef.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/macrolevel/PreprocessorEventListener.java b/proparse/src/main/java/org/prorefactor/macrolevel/PreprocessorEventListener.java
index 0be8f6cea..a50d2f402 100644
--- a/proparse/src/main/java/org/prorefactor/macrolevel/PreprocessorEventListener.java
+++ b/proparse/src/main/java/org/prorefactor/macrolevel/PreprocessorEventListener.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/macrolevel/PreprocessorExpressionVisitor.java b/proparse/src/main/java/org/prorefactor/macrolevel/PreprocessorExpressionVisitor.java
index 8fda036a1..38752cf57 100644
--- a/proparse/src/main/java/org/prorefactor/macrolevel/PreprocessorExpressionVisitor.java
+++ b/proparse/src/main/java/org/prorefactor/macrolevel/PreprocessorExpressionVisitor.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/ABLLexer.java b/proparse/src/main/java/org/prorefactor/proparse/ABLLexer.java
index 08d310f39..928b9273a 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/ABLLexer.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/ABLLexer.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
@@ -47,6 +47,10 @@ public class ABLLexer implements TokenSource, IPreprocessor {
   // How many levels of &IF FALSE are we currently into?
   private int consuming = 0;
 
+  public ABLLexer(IProparseEnvironment session, ByteSource src, boolean lexOnly) {
+    this(session, src, "unnamed", lexOnly);
+  }
+
   /**
    * Standard constructor for the ABL lexer. Requires an initialized session object.
    * 
diff --git a/proparse/src/main/java/org/prorefactor/proparse/CharPos.java b/proparse/src/main/java/org/prorefactor/proparse/CharPos.java
index 8456623c5..c2bb5a6e7 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/CharPos.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/CharPos.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/FilePos.java b/proparse/src/main/java/org/prorefactor/proparse/FilePos.java
index a33754c67..0df0f6a6d 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/FilePos.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/FilePos.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/FunctionKeywordTokenFilter.java b/proparse/src/main/java/org/prorefactor/proparse/FunctionKeywordTokenFilter.java
index 1f11a0a95..9f19a7588 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/FunctionKeywordTokenFilter.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/FunctionKeywordTokenFilter.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/ICallback.java b/proparse/src/main/java/org/prorefactor/proparse/ICallback.java
index 90a7a13b2..0a893bd16 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/ICallback.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/ICallback.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/IPreprocessor.java b/proparse/src/main/java/org/prorefactor/proparse/IPreprocessor.java
index 05dc42513..4a36118ae 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/IPreprocessor.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/IPreprocessor.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/IncludeFile.java b/proparse/src/main/java/org/prorefactor/proparse/IncludeFile.java
index 17d17cf7f..4f0ee1d31 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/IncludeFile.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/IncludeFile.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/IncludeFileNotFoundException.java b/proparse/src/main/java/org/prorefactor/proparse/IncludeFileNotFoundException.java
index 606bf0ecf..af8a3aade 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/IncludeFileNotFoundException.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/IncludeFileNotFoundException.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/InputSource.java b/proparse/src/main/java/org/prorefactor/proparse/InputSource.java
index a00878356..f9f0f2e69 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/InputSource.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/InputSource.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/JPNodeVisitor.java b/proparse/src/main/java/org/prorefactor/proparse/JPNodeVisitor.java
index 9f1c46dcf..639990240 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/JPNodeVisitor.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/JPNodeVisitor.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
@@ -109,11 +109,6 @@ public Builder visitExpressionStatement(ExpressionStatementContext ctx) {
     return createTree(ctx, ABLNodeType.EXPR_STATEMENT).setStatement().setRuleNode(ctx);
   }
 
-  @Override
-  public Builder visitLabeledBlock(LabeledBlockContext ctx) {
-    return createTreeFromFirstNode(ctx);
-  }
-
   @Override
   public Builder visitBlockFor(BlockForContext ctx) {
     return createTreeFromFirstNode(ctx);
@@ -1556,7 +1551,10 @@ public Builder visitDisplayWith(DisplayWithContext ctx) {
 
   @Override
   public Builder visitDoStatement(DoStatementContext ctx) {
-    return createStatementTreeFromFirstNode(ctx).setBlock(true);
+    if (ctx.blockLabel() == null)
+      return createStatementTreeFromFirstNode(ctx).setBlock(true);
+    else
+      return createStatementTreeWithBlockLavel(ctx).setBlock(true);
   }
 
   @Override
@@ -1689,7 +1687,10 @@ public Builder visitFontExpression(FontExpressionContext ctx) {
 
   @Override
   public Builder visitForStatement(ForStatementContext ctx) {
-    return createStatementTreeFromFirstNode(ctx).setBlock(true);
+    if (ctx.blockLabel() == null)
+      return createStatementTreeFromFirstNode(ctx).setBlock(true);
+    else
+      return createStatementTreeWithBlockLavel(ctx).setBlock(true);
   }
 
   @Override
@@ -2348,7 +2349,10 @@ public Builder visitReadkeyStatement(ReadkeyStatementContext ctx) {
 
   @Override
   public Builder visitRepeatStatement(RepeatStatementContext ctx) {
-    return createStatementTreeFromFirstNode(ctx).setBlock(true);
+    if (ctx.blockLabel() == null)
+      return createStatementTreeFromFirstNode(ctx).setBlock(true);
+    else
+      return createStatementTreeWithBlockLavel(ctx).setBlock(true);
   }
 
   @Override
@@ -3045,4 +3049,24 @@ private Builder createTree(RuleNode ctx, ABLNodeType parentType, ABLNodeType tai
     return node;
   }
 
+  private Builder createStatementTreeWithBlockLavel(RuleNode ctx) {
+    if (ctx.getChildCount() < 3)
+      return new Builder(ABLNodeType.EMPTY_NODE);
+    Builder top = visit(ctx.getChild(2)).setStatement().setRuleNode(ctx).setBlockLabel(ctx.getChild(0).getText());
+
+    Builder firstChild = top.getDown();
+    Builder lastChild = firstChild == null ? null : firstChild.getLast();
+    for (int zz = 3; zz < ctx.getChildCount(); zz++) {
+      Builder xx = visit(ctx.getChild(zz));
+      if (lastChild != null) {
+        lastChild = lastChild.setRight(xx).getLast();
+      } else if (xx != null) {
+        firstChild = xx;
+        lastChild = firstChild.getLast();
+      }
+    }
+    top.setDown(firstChild);
+
+    return top;
+  }
 }
diff --git a/proparse/src/main/java/org/prorefactor/proparse/Lexer.java b/proparse/src/main/java/org/prorefactor/proparse/Lexer.java
index 95f184d98..aafcee3b3 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/Lexer.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/Lexer.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/NameDotTokenFilter.java b/proparse/src/main/java/org/prorefactor/proparse/NameDotTokenFilter.java
index 5ac84c077..29a158b54 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/NameDotTokenFilter.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/NameDotTokenFilter.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/NoOpPostLexer.java b/proparse/src/main/java/org/prorefactor/proparse/NoOpPostLexer.java
index 74f92e905..a0e730b51 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/NoOpPostLexer.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/NoOpPostLexer.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/PostLexer.java b/proparse/src/main/java/org/prorefactor/proparse/PostLexer.java
index 844c9e368..b210d16f5 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/PostLexer.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/PostLexer.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/PreproEval.java b/proparse/src/main/java/org/prorefactor/proparse/PreproEval.java
index 7b1fb6ad7..0a892a35f 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/PreproEval.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/PreproEval.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/PreprocessorErrorListener.java b/proparse/src/main/java/org/prorefactor/proparse/PreprocessorErrorListener.java
index e2c3d84bc..5eb956819 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/PreprocessorErrorListener.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/PreprocessorErrorListener.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/ProEvalException.java b/proparse/src/main/java/org/prorefactor/proparse/ProEvalException.java
index d041db83d..bdd78c051 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/ProEvalException.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/ProEvalException.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/ProparseErrorListener.java b/proparse/src/main/java/org/prorefactor/proparse/ProparseErrorListener.java
index f2aad7c94..458c7ef8c 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/ProparseErrorListener.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/ProparseErrorListener.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/ProparseErrorStrategy.java b/proparse/src/main/java/org/prorefactor/proparse/ProparseErrorStrategy.java
index 2fd71fc31..f5b2ac9eb 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/ProparseErrorStrategy.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/ProparseErrorStrategy.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/ProparseSkipFilter.java b/proparse/src/main/java/org/prorefactor/proparse/ProparseSkipFilter.java
index ecb071133..4a78ec6a9 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/ProparseSkipFilter.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/ProparseSkipFilter.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/TokenList.java b/proparse/src/main/java/org/prorefactor/proparse/TokenList.java
index 42b9aa086..5a2784706 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/TokenList.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/TokenList.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/XCodedFileException.java b/proparse/src/main/java/org/prorefactor/proparse/XCodedFileException.java
index 16b817d44..faab8b223 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/XCodedFileException.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/XCodedFileException.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/classdoc/ClassDocumentation.java b/proparse/src/main/java/org/prorefactor/proparse/classdoc/ClassDocumentation.java
index 2a4e53cfc..62d10c684 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/classdoc/ClassDocumentation.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/classdoc/ClassDocumentation.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/classdoc/PctJsonDocumentation.java b/proparse/src/main/java/org/prorefactor/proparse/classdoc/PctJsonDocumentation.java
index 3d962dca6..9953b0220 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/classdoc/PctJsonDocumentation.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/classdoc/PctJsonDocumentation.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/support/ClassFinder.java b/proparse/src/main/java/org/prorefactor/proparse/support/ClassFinder.java
index 22dbbbe2e..24c7dc4d8 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/support/ClassFinder.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/support/ClassFinder.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/support/IProparseEnvironment.java b/proparse/src/main/java/org/prorefactor/proparse/support/IProparseEnvironment.java
index 095c4f052..302bc1dae 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/support/IProparseEnvironment.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/support/IProparseEnvironment.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/support/IntegerIndex.java b/proparse/src/main/java/org/prorefactor/proparse/support/IntegerIndex.java
index b3bde556a..6db51684b 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/support/IntegerIndex.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/support/IntegerIndex.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/support/JPNodeLister.java b/proparse/src/main/java/org/prorefactor/proparse/support/JPNodeLister.java
index 58e9ad9be..c9c37d4ba 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/support/JPNodeLister.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/support/JPNodeLister.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/support/ParserSupport.java b/proparse/src/main/java/org/prorefactor/proparse/support/ParserSupport.java
index b2cebd176..2a0d87f1f 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/support/ParserSupport.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/support/ParserSupport.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/support/RootSymbolScope.java b/proparse/src/main/java/org/prorefactor/proparse/support/RootSymbolScope.java
index d28ee8a1d..3272505cc 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/support/RootSymbolScope.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/support/RootSymbolScope.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/support/StringFuncs.java b/proparse/src/main/java/org/prorefactor/proparse/support/StringFuncs.java
index e6764ff7f..74da90d9c 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/support/StringFuncs.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/support/StringFuncs.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/proparse/support/SymbolScope.java b/proparse/src/main/java/org/prorefactor/proparse/support/SymbolScope.java
index d8204d8cd..617073b9e 100644
--- a/proparse/src/main/java/org/prorefactor/proparse/support/SymbolScope.java
+++ b/proparse/src/main/java/org/prorefactor/proparse/support/SymbolScope.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/refactor/BuiltinClasses.java b/proparse/src/main/java/org/prorefactor/refactor/BuiltinClasses.java
index acb0678f3..46552855b 100644
--- a/proparse/src/main/java/org/prorefactor/refactor/BuiltinClasses.java
+++ b/proparse/src/main/java/org/prorefactor/refactor/BuiltinClasses.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
@@ -36,6 +36,7 @@
 @Generated(value = "genBuiltinClasses.p")
 public class BuiltinClasses {
   private static final Collection BUILTIN_CLASSES = new ArrayList<>();
+
   public static final ITypeInfo PROGRESS_LANG_OBJECT;
   public static final ITypeInfo PROGRESS_LANG_ENUM;
 
@@ -67,6 +68,11 @@ public static Collection getBuiltinClasses() {
     BUILTIN_CLASSES.add(typeInfo);
 
     typeInfo = new TypeInfo("Progress.ApplicationServer.AdapterTypes", false, false, "Progress.Lang.Enum", "");
+    typeInfo.addProperty(new PropertyElement("Unexpected", true, new DataType("Progress.ApplicationServer.AdapterTypes")));
+    typeInfo.addProperty(new PropertyElement("APSV", true, new DataType("Progress.ApplicationServer.AdapterTypes")));
+    typeInfo.addProperty(new PropertyElement("SOAP", true, new DataType("Progress.ApplicationServer.AdapterTypes")));
+    typeInfo.addProperty(new PropertyElement("REST", true, new DataType("Progress.ApplicationServer.AdapterTypes")));
+    typeInfo.addProperty(new PropertyElement("WEB", true, new DataType("Progress.ApplicationServer.AdapterTypes")));
     BUILTIN_CLASSES.add(typeInfo);
 
     typeInfo = new TypeInfo("Progress.ApplicationServer.AgentInfo", false, false, "Progress.Lang.Object", "");
@@ -1239,6 +1245,9 @@ public static Collection getBuiltinClasses() {
     BUILTIN_CLASSES.add(typeInfo);
 
     typeInfo = new TypeInfo("Progress.Reflect.AccessMode", false, false, "Progress.Lang.Enum", "");
+    typeInfo.addProperty(new PropertyElement("Public", true, new DataType("Progress.Reflect.AccessMode")));
+    typeInfo.addProperty(new PropertyElement("Protected", true, new DataType("Progress.Reflect.AccessMode")));
+    typeInfo.addProperty(new PropertyElement("Private", true, new DataType("Progress.Reflect.AccessMode")));
     BUILTIN_CLASSES.add(typeInfo);
 
     typeInfo = new TypeInfo("Progress.Reflect.Constructor", false, false, "Progress.Lang.Object", "");
@@ -1252,6 +1261,38 @@ public static Collection getBuiltinClasses() {
     BUILTIN_CLASSES.add(typeInfo);
 
     typeInfo = new TypeInfo("Progress.Reflect.DataType", false, false, "Progress.Lang.Enum", "");
+    typeInfo.addProperty(new PropertyElement("AnyType", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Buffer", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Byte", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Character", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("COMHandle", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("DataSet", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("DataSetHandle", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Date", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("DateTime", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("DateTimeTZ", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Decimal", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Double", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Float", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Handle", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Int64", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Integer", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Logical", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Longchar", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Memptr", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Object", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Raw", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Recid", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Rowid", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Short", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("SingleCharacter", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Table", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("TableHandle", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("UnsignedByte", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("UnsignedInt", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("InsignedInt64", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("UnsignedShort", true, new DataType("Progress.Reflect.DataType")));
+    typeInfo.addProperty(new PropertyElement("Void", true, new DataType("Progress.Reflect.DataType")));
     BUILTIN_CLASSES.add(typeInfo);
 
     typeInfo = new TypeInfo("Progress.Reflect.Event", false, false, "Progress.Lang.Object", "");
@@ -1293,6 +1334,12 @@ public static Collection getBuiltinClasses() {
     BUILTIN_CLASSES.add(typeInfo);
 
     typeInfo = new TypeInfo("Progress.Reflect.Flags", false, false, "Progress.Lang.FlagsEnum", "");
+    typeInfo.addProperty(new PropertyElement("Public", true, new DataType("Progress.Reflect.Flags")));
+    typeInfo.addProperty(new PropertyElement("Protected", true, new DataType("Progress.Reflect.Flags")));
+    typeInfo.addProperty(new PropertyElement("Private", true, new DataType("Progress.Reflect.Flags")));
+    typeInfo.addProperty(new PropertyElement("Static", true, new DataType("Progress.Reflect.Flags")));
+    typeInfo.addProperty(new PropertyElement("Instance", true, new DataType("Progress.Reflect.Flags")));
+    typeInfo.addProperty(new PropertyElement("DeclaredOnly", true, new DataType("Progress.Reflect.Flags")));
     typeInfo.addMethod(new MethodElement("SetFlag", false, new DataType("Progress.Reflect.Flags"),
         new Parameter(1, "prm1", 0, ParameterMode.INPUT, new DataType("Progress.Reflect.Flags"))));
     typeInfo.addMethod(new MethodElement("UnsetFlag", false, new DataType("Progress.Reflect.Flags"),
diff --git a/proparse/src/main/java/org/prorefactor/refactor/RefactorSession.java b/proparse/src/main/java/org/prorefactor/refactor/RefactorSession.java
index 74e3e0386..5a2b6ef35 100644
--- a/proparse/src/main/java/org/prorefactor/refactor/RefactorSession.java
+++ b/proparse/src/main/java/org/prorefactor/refactor/RefactorSession.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/refactor/settings/IProparseSettings.java b/proparse/src/main/java/org/prorefactor/refactor/settings/IProparseSettings.java
index b0264a415..741bd9950 100644
--- a/proparse/src/main/java/org/prorefactor/refactor/settings/IProparseSettings.java
+++ b/proparse/src/main/java/org/prorefactor/refactor/settings/IProparseSettings.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/refactor/settings/ProparseSettings.java b/proparse/src/main/java/org/prorefactor/refactor/settings/ProparseSettings.java
index cb949d3c1..df8516e6b 100644
--- a/proparse/src/main/java/org/prorefactor/refactor/settings/ProparseSettings.java
+++ b/proparse/src/main/java/org/prorefactor/refactor/settings/ProparseSettings.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/Block.java b/proparse/src/main/java/org/prorefactor/treeparser/Block.java
index c230d3b32..43b3ba5c7 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/Block.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/Block.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/BufferScope.java b/proparse/src/main/java/org/prorefactor/treeparser/BufferScope.java
index e6d1d852a..2fe01ecc1 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/BufferScope.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/BufferScope.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/ContextQualifier.java b/proparse/src/main/java/org/prorefactor/treeparser/ContextQualifier.java
index 459eadfa4..07bb55559 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/ContextQualifier.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/ContextQualifier.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/FieldLookupResult.java b/proparse/src/main/java/org/prorefactor/treeparser/FieldLookupResult.java
index 8136b6cf2..761d62225 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/FieldLookupResult.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/FieldLookupResult.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/FrameStack.java b/proparse/src/main/java/org/prorefactor/treeparser/FrameStack.java
index a49e0371d..a4c406236 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/FrameStack.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/FrameStack.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/Parameter.java b/proparse/src/main/java/org/prorefactor/treeparser/Parameter.java
index 4e11fc322..06a42a93f 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/Parameter.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/Parameter.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/ParseUnit.java b/proparse/src/main/java/org/prorefactor/treeparser/ParseUnit.java
index 2d96d63bc..78e386645 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/ParseUnit.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/ParseUnit.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/Primitive.java b/proparse/src/main/java/org/prorefactor/treeparser/Primitive.java
index e2148cea6..bc20d956a 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/Primitive.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/Primitive.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/RunHandle.java b/proparse/src/main/java/org/prorefactor/treeparser/RunHandle.java
index 9eb740e6a..900533681 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/RunHandle.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/RunHandle.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/SymbolFactory.java b/proparse/src/main/java/org/prorefactor/treeparser/SymbolFactory.java
index 0db4d6a0b..03b2c6b22 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/SymbolFactory.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/SymbolFactory.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/TreeParserBlocks.java b/proparse/src/main/java/org/prorefactor/treeparser/TreeParserBlocks.java
index 9963545f2..9f61ef60a 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/TreeParserBlocks.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/TreeParserBlocks.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/TreeParserComputeReferences.java b/proparse/src/main/java/org/prorefactor/treeparser/TreeParserComputeReferences.java
index c11f79d6c..2b68f2205 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/TreeParserComputeReferences.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/TreeParserComputeReferences.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
@@ -134,7 +134,7 @@ private void widattr(Exprt2FieldContext ctx2, ContextQualifier cq, String right)
     String clsRef = ctx2.field().getText();
     String clsName = rootScope.getClassName();
     if ((clsRef != null) && (clsName != null) && (clsRef.indexOf('.') == -1) && (clsName.indexOf('.') != -1))
-      clsName = clsName.substring(clsName.indexOf('.') + 1);
+      clsName = clsName.substring(clsName.lastIndexOf('.') + 1);
 
     if ((clsRef != null) && (clsName != null) && clsRef.equalsIgnoreCase(clsName)) {
       FieldLookupResult result = currentBlock.lookupField(right, true);
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/TreeParserRootSymbolScope.java b/proparse/src/main/java/org/prorefactor/treeparser/TreeParserRootSymbolScope.java
index 6087a2bbf..4918aa919 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/TreeParserRootSymbolScope.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/TreeParserRootSymbolScope.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/TreeParserSymbolScope.java b/proparse/src/main/java/org/prorefactor/treeparser/TreeParserSymbolScope.java
index bfc768da7..c72032bca 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/TreeParserSymbolScope.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/TreeParserSymbolScope.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/TreeParserVariableDefinition.java b/proparse/src/main/java/org/prorefactor/treeparser/TreeParserVariableDefinition.java
index 54b1a269b..b71fc3d53 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/TreeParserVariableDefinition.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/TreeParserVariableDefinition.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
@@ -34,6 +34,7 @@
 import org.prorefactor.proparse.antlr4.Proparse.*;
 import org.prorefactor.proparse.support.IProparseEnvironment;
 import org.prorefactor.proparse.support.ParserSupport;
+import org.prorefactor.refactor.BuiltinClasses;
 import org.prorefactor.treeparser.symbols.Event;
 import org.prorefactor.treeparser.symbols.FieldBuffer;
 import org.prorefactor.treeparser.symbols.ISymbol;
@@ -49,6 +50,7 @@
 import com.google.inject.Inject;
 
 import eu.rssw.pct.elements.DataType;
+import eu.rssw.pct.elements.ITypeInfo;
 
 public class TreeParserVariableDefinition extends AbstractBlockProparseListener {
   private static final Logger LOG = LoggerFactory.getLogger(TreeParserVariableDefinition.class);
@@ -2420,9 +2422,11 @@ private void field(ParseTree ctx, FieldRefNode refNode, JPNode idNode, String na
         addToSymbolScope(defineVariable(ctx, refNode, name, Variable.Type.VARIABLE));
     }
     if (cq == ContextQualifier.STATIC) {
-      // Nothing with static for now, but at least we don't check for external tables
+      ITypeInfo info = refSession.getTypeInfoCI(support.lookupClassName(refNode.getIdNode().getText()));
+      refNode.setStaticReference(info == null ? BuiltinClasses.PROGRESS_LANG_OBJECT : info);
       if (LOG.isTraceEnabled())
-        LOG.trace("Static reference to {}", refNode.getIdNode().getText());
+        LOG.trace("Static reference to {} - TypeInfo: {}", refNode.getIdNode().getText(),
+            refNode.getStaticReference().getTypeName());
     } else if ((refNode.getParent() != null) && (refNode.getParent().getNodeType() == ABLNodeType.USING)
         && (stmtNode.getNodeType() != ABLNodeType.BUFFERCOPY)
         && (stmtNode.getNodeType() != ABLNodeType.BUFFERCOMPARE)) {
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/Value.java b/proparse/src/main/java/org/prorefactor/treeparser/Value.java
index 41894f68a..f6dbdcfdd 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/Value.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/Value.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Dataset.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Dataset.java
index cf1cb1d4e..9e9ae9592 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Dataset.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Dataset.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Datasource.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Datasource.java
index 4e8c95a86..e0caab4f5 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Datasource.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Datasource.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Event.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Event.java
index 6c32eb362..510880c76 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Event.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Event.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/FieldBuffer.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/FieldBuffer.java
index 156d55d5b..cb95b34b0 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/FieldBuffer.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/FieldBuffer.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/FieldContainer.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/FieldContainer.java
index 87ae9a90f..e7df6327b 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/FieldContainer.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/FieldContainer.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/ISymbol.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/ISymbol.java
index 2c91cb67f..7476ee86f 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/ISymbol.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/ISymbol.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/IWidget.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/IWidget.java
index c81ee2d0e..ad1106f54 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/IWidget.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/IWidget.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Modifier.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Modifier.java
index 78da2438c..590d630b9 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Modifier.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Modifier.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Query.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Query.java
index bed843f1a..461916380 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Query.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Query.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Routine.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Routine.java
index d6bd04e85..fcef2ec67 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Routine.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Routine.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Stream.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Stream.java
index 53877eeec..78e8aa3b4 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Stream.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Stream.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Symbol.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Symbol.java
index 4b4c9d809..35342afc6 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Symbol.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Symbol.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/TableBuffer.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/TableBuffer.java
index a4aa4f4f8..795180673 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/TableBuffer.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/TableBuffer.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Variable.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Variable.java
index 4eba53810..93c8ac74d 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Variable.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Variable.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Widget.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Widget.java
index 9e4c59d60..3070f11f3 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/Widget.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/Widget.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Browse.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Browse.java
index a45bbd043..3f14d04ed 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Browse.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Browse.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Button.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Button.java
index 90012355e..bc70d7a9a 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Button.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Button.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Frame.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Frame.java
index 0957203a3..f4b8a41ec 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Frame.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Frame.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/IFieldLevelWidget.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/IFieldLevelWidget.java
index 81910bf28..9bb8f2fff 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/IFieldLevelWidget.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/IFieldLevelWidget.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Image.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Image.java
index 10e1f57c2..65bc4699b 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Image.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Image.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Menu.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Menu.java
index 191ca764c..e2abd89b6 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Menu.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Menu.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/MenuItem.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/MenuItem.java
index b8ac9bbdd..a96329b32 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/MenuItem.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/MenuItem.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Rectangle.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Rectangle.java
index ae4aea3d1..a758c5a79 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Rectangle.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Rectangle.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Submenu.java b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Submenu.java
index fc8bebf3e..d7f77cbb6 100644
--- a/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Submenu.java
+++ b/proparse/src/main/java/org/prorefactor/treeparser/symbols/widgets/Submenu.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/main/java/org/sonar/plugins/openedge/api/objects/RCodeTTFieldWrapper.java b/proparse/src/main/java/org/sonar/plugins/openedge/api/objects/RCodeTTFieldWrapper.java
index 7d93179f8..c6ea4bfa1 100644
--- a/proparse/src/main/java/org/sonar/plugins/openedge/api/objects/RCodeTTFieldWrapper.java
+++ b/proparse/src/main/java/org/sonar/plugins/openedge/api/objects/RCodeTTFieldWrapper.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2017-2022 Riverside Software
+ * Copyright (c) 2017-2023 Riverside Software
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
diff --git a/proparse/src/main/java/org/sonar/plugins/openedge/api/objects/RCodeTTIndexWrapper.java b/proparse/src/main/java/org/sonar/plugins/openedge/api/objects/RCodeTTIndexWrapper.java
index cb0a841ea..fc663588e 100644
--- a/proparse/src/main/java/org/sonar/plugins/openedge/api/objects/RCodeTTIndexWrapper.java
+++ b/proparse/src/main/java/org/sonar/plugins/openedge/api/objects/RCodeTTIndexWrapper.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2017-2022 Riverside Software
+ * Copyright (c) 2017-2023 Riverside Software
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
diff --git a/proparse/src/main/java/org/sonar/plugins/openedge/api/objects/RCodeTTWrapper.java b/proparse/src/main/java/org/sonar/plugins/openedge/api/objects/RCodeTTWrapper.java
index 0a34a59c1..d53ec563e 100644
--- a/proparse/src/main/java/org/sonar/plugins/openedge/api/objects/RCodeTTWrapper.java
+++ b/proparse/src/main/java/org/sonar/plugins/openedge/api/objects/RCodeTTWrapper.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2017-2022 Riverside Software
+ * Copyright (c) 2017-2023 Riverside Software
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/BugFixTest.java b/proparse/src/test/java/org/prorefactor/core/BugFixTest.java
index ef0d409e3..8e726df27 100644
--- a/proparse/src/test/java/org/prorefactor/core/BugFixTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/BugFixTest.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/C3Test.java b/proparse/src/test/java/org/prorefactor/core/C3Test.java
index 21a9f6127..d43b71c64 100644
--- a/proparse/src/test/java/org/prorefactor/core/C3Test.java
+++ b/proparse/src/test/java/org/prorefactor/core/C3Test.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/ClassesTest.java b/proparse/src/test/java/org/prorefactor/core/ClassesTest.java
index 4669e2772..cc9a0a434 100644
--- a/proparse/src/test/java/org/prorefactor/core/ClassesTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/ClassesTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/JPNodeTest.java b/proparse/src/test/java/org/prorefactor/core/JPNodeTest.java
index 1352e1290..9c25afef5 100644
--- a/proparse/src/test/java/org/prorefactor/core/JPNodeTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/JPNodeTest.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/LegacyTest.java b/proparse/src/test/java/org/prorefactor/core/LegacyTest.java
index 87f3fb263..d4c106112 100644
--- a/proparse/src/test/java/org/prorefactor/core/LegacyTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/LegacyTest.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/MacroGraphTest.java b/proparse/src/test/java/org/prorefactor/core/MacroGraphTest.java
index 02a7f1977..a85447182 100644
--- a/proparse/src/test/java/org/prorefactor/core/MacroGraphTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/MacroGraphTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/MetricsTest.java b/proparse/src/test/java/org/prorefactor/core/MetricsTest.java
index 7053e6ee6..ec210aedd 100644
--- a/proparse/src/test/java/org/prorefactor/core/MetricsTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/MetricsTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/NewSyntaxTest.java b/proparse/src/test/java/org/prorefactor/core/NewSyntaxTest.java
index 19f6befe0..75b8e4f5b 100644
--- a/proparse/src/test/java/org/prorefactor/core/NewSyntaxTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/NewSyntaxTest.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/ParserRecoverTest.java b/proparse/src/test/java/org/prorefactor/core/ParserRecoverTest.java
index fda1e66fb..a8637e68b 100644
--- a/proparse/src/test/java/org/prorefactor/core/ParserRecoverTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/ParserRecoverTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/ParserTest.java b/proparse/src/test/java/org/prorefactor/core/ParserTest.java
index 3e761a019..14adafec4 100644
--- a/proparse/src/test/java/org/prorefactor/core/ParserTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/ParserTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/PreprocessorDirectiveTest.java b/proparse/src/test/java/org/prorefactor/core/PreprocessorDirectiveTest.java
index af4d21eb3..a9395728f 100644
--- a/proparse/src/test/java/org/prorefactor/core/PreprocessorDirectiveTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/PreprocessorDirectiveTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/PreprocessorParserTest.java b/proparse/src/test/java/org/prorefactor/core/PreprocessorParserTest.java
index 6e8afb82e..2258c23fa 100644
--- a/proparse/src/test/java/org/prorefactor/core/PreprocessorParserTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/PreprocessorParserTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/PreprocessorVariablesTest.java b/proparse/src/test/java/org/prorefactor/core/PreprocessorVariablesTest.java
index 95d73468b..43c6c0ad5 100644
--- a/proparse/src/test/java/org/prorefactor/core/PreprocessorVariablesTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/PreprocessorVariablesTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/StatementFlowTest.java b/proparse/src/test/java/org/prorefactor/core/StatementFlowTest.java
index d2ad3b758..402680e10 100644
--- a/proparse/src/test/java/org/prorefactor/core/StatementFlowTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/StatementFlowTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/TreeParser01Test.java b/proparse/src/test/java/org/prorefactor/core/TreeParser01Test.java
index ae88c1664..d251933f3 100644
--- a/proparse/src/test/java/org/prorefactor/core/TreeParser01Test.java
+++ b/proparse/src/test/java/org/prorefactor/core/TreeParser01Test.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/TreeParser02Test.java b/proparse/src/test/java/org/prorefactor/core/TreeParser02Test.java
index 1f1f721ca..779c83cfb 100644
--- a/proparse/src/test/java/org/prorefactor/core/TreeParser02Test.java
+++ b/proparse/src/test/java/org/prorefactor/core/TreeParser02Test.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/TreeParser03Test.java b/proparse/src/test/java/org/prorefactor/core/TreeParser03Test.java
index 7a6243eb1..dda3ab52f 100644
--- a/proparse/src/test/java/org/prorefactor/core/TreeParser03Test.java
+++ b/proparse/src/test/java/org/prorefactor/core/TreeParser03Test.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/TreeParser04Test.java b/proparse/src/test/java/org/prorefactor/core/TreeParser04Test.java
index cb7451ba9..ff4521f96 100644
--- a/proparse/src/test/java/org/prorefactor/core/TreeParser04Test.java
+++ b/proparse/src/test/java/org/prorefactor/core/TreeParser04Test.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/TreeParserBlocksTest.java b/proparse/src/test/java/org/prorefactor/core/TreeParserBlocksTest.java
index ade829719..cc0b79478 100644
--- a/proparse/src/test/java/org/prorefactor/core/TreeParserBlocksTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/TreeParserBlocksTest.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/session/AliasesTest.java b/proparse/src/test/java/org/prorefactor/core/session/AliasesTest.java
index c78c354c8..9f4c7a775 100644
--- a/proparse/src/test/java/org/prorefactor/core/session/AliasesTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/session/AliasesTest.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/session/NodeTypesTest.java b/proparse/src/test/java/org/prorefactor/core/session/NodeTypesTest.java
index c4a26f7bf..b62c8866d 100644
--- a/proparse/src/test/java/org/prorefactor/core/session/NodeTypesTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/session/NodeTypesTest.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/session/OpSysTest.java b/proparse/src/test/java/org/prorefactor/core/session/OpSysTest.java
index 5e67208ee..9cbc340a8 100644
--- a/proparse/src/test/java/org/prorefactor/core/session/OpSysTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/session/OpSysTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/session/ProgressStringTest.java b/proparse/src/test/java/org/prorefactor/core/session/ProgressStringTest.java
index 97bd7f6fb..0e7855ece 100644
--- a/proparse/src/test/java/org/prorefactor/core/session/ProgressStringTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/session/ProgressStringTest.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/session/RefactorSessionTest.java b/proparse/src/test/java/org/prorefactor/core/session/RefactorSessionTest.java
index 7f679090c..ecb9818a1 100644
--- a/proparse/src/test/java/org/prorefactor/core/session/RefactorSessionTest.java
+++ b/proparse/src/test/java/org/prorefactor/core/session/RefactorSessionTest.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/util/AttributedWriter.java b/proparse/src/test/java/org/prorefactor/core/util/AttributedWriter.java
index 01683ab0b..5a2ec814f 100644
--- a/proparse/src/test/java/org/prorefactor/core/util/AttributedWriter.java
+++ b/proparse/src/test/java/org/prorefactor/core/util/AttributedWriter.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
@@ -26,6 +26,7 @@
 import org.prorefactor.core.JPNode;
 import org.prorefactor.core.ProToken;
 import org.prorefactor.core.nodetypes.FieldRefNode;
+import org.prorefactor.core.nodetypes.StatementBlockNode;
 import org.prorefactor.core.nodetypes.TwoArgumentsExpression;
 import org.prorefactor.refactor.RefactorSession;
 import org.prorefactor.treeparser.Block;
@@ -132,6 +133,12 @@ private void writeNode(JPNode node) throws IOException {
     for (ProToken t : node.getHiddenTokens()) {
       writer.write(t.getText());
     }
+    if (node instanceof StatementBlockNode) {
+      String label = ((StatementBlockNode) node).getBlockLabel();
+      if (label != null) {
+        writer.write("\n" + label + ":\n");
+      }
+    }
     writer.write(getAttributes(node));
     writer.write(node.getText());
   }
diff --git a/proparse/src/test/java/org/prorefactor/core/util/SP2KSchema.java b/proparse/src/test/java/org/prorefactor/core/util/SP2KSchema.java
index f5a91df45..bd6c2f1e5 100644
--- a/proparse/src/test/java/org/prorefactor/core/util/SP2KSchema.java
+++ b/proparse/src/test/java/org/prorefactor/core/util/SP2KSchema.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/util/SportsSchema.java b/proparse/src/test/java/org/prorefactor/core/util/SportsSchema.java
index 3c92bc84d..94fb9fae2 100644
--- a/proparse/src/test/java/org/prorefactor/core/util/SportsSchema.java
+++ b/proparse/src/test/java/org/prorefactor/core/util/SportsSchema.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/util/StatementFlowWriter.java b/proparse/src/test/java/org/prorefactor/core/util/StatementFlowWriter.java
index 4d2ad1338..71b7624fa 100644
--- a/proparse/src/test/java/org/prorefactor/core/util/StatementFlowWriter.java
+++ b/proparse/src/test/java/org/prorefactor/core/util/StatementFlowWriter.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/util/TP01FramesTreeLister.java b/proparse/src/test/java/org/prorefactor/core/util/TP01FramesTreeLister.java
index 830cfae7d..e57e529fc 100644
--- a/proparse/src/test/java/org/prorefactor/core/util/TP01FramesTreeLister.java
+++ b/proparse/src/test/java/org/prorefactor/core/util/TP01FramesTreeLister.java
@@ -1,6 +1,6 @@
 /********************************************************************************
  * Copyright (c) 2003-2015 John Green
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/util/UnitTestBackslashModule.java b/proparse/src/test/java/org/prorefactor/core/util/UnitTestBackslashModule.java
index 8b289a99e..75ded27d3 100644
--- a/proparse/src/test/java/org/prorefactor/core/util/UnitTestBackslashModule.java
+++ b/proparse/src/test/java/org/prorefactor/core/util/UnitTestBackslashModule.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/util/UnitTestBackslashProparseSettings.java b/proparse/src/test/java/org/prorefactor/core/util/UnitTestBackslashProparseSettings.java
index 5f838514d..b83d2ce2d 100644
--- a/proparse/src/test/java/org/prorefactor/core/util/UnitTestBackslashProparseSettings.java
+++ b/proparse/src/test/java/org/prorefactor/core/util/UnitTestBackslashProparseSettings.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/util/UnitTestModule.java b/proparse/src/test/java/org/prorefactor/core/util/UnitTestModule.java
index b00185558..3d2fea227 100644
--- a/proparse/src/test/java/org/prorefactor/core/util/UnitTestModule.java
+++ b/proparse/src/test/java/org/prorefactor/core/util/UnitTestModule.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/util/UnitTestModule2.java b/proparse/src/test/java/org/prorefactor/core/util/UnitTestModule2.java
index 8a1d050ee..829c664aa 100644
--- a/proparse/src/test/java/org/prorefactor/core/util/UnitTestModule2.java
+++ b/proparse/src/test/java/org/prorefactor/core/util/UnitTestModule2.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/util/UnitTestProparseSettings.java b/proparse/src/test/java/org/prorefactor/core/util/UnitTestProparseSettings.java
index 52d13b493..df99d7ad0 100644
--- a/proparse/src/test/java/org/prorefactor/core/util/UnitTestProparseSettings.java
+++ b/proparse/src/test/java/org/prorefactor/core/util/UnitTestProparseSettings.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/util/UnitTestWindowsModule.java b/proparse/src/test/java/org/prorefactor/core/util/UnitTestWindowsModule.java
index 442a1018d..b84f0b189 100644
--- a/proparse/src/test/java/org/prorefactor/core/util/UnitTestWindowsModule.java
+++ b/proparse/src/test/java/org/prorefactor/core/util/UnitTestWindowsModule.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/core/util/UnitTestWindowsSettings.java b/proparse/src/test/java/org/prorefactor/core/util/UnitTestWindowsSettings.java
index c6d915e24..4003b40cc 100644
--- a/proparse/src/test/java/org/prorefactor/core/util/UnitTestWindowsSettings.java
+++ b/proparse/src/test/java/org/prorefactor/core/util/UnitTestWindowsSettings.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/proparse/ABLLexerTest.java b/proparse/src/test/java/org/prorefactor/proparse/ABLLexerTest.java
index 84f593946..532c7d002 100644
--- a/proparse/src/test/java/org/prorefactor/proparse/ABLLexerTest.java
+++ b/proparse/src/test/java/org/prorefactor/proparse/ABLLexerTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
@@ -60,7 +60,7 @@ public void setUp() throws IOException, InvalidRCodeException {
   @Test
   public void testDecimalNumber01() {
     final String source = "rct1:height = 0.1\n rct1:row ";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenType(lexer, ABLNodeType.ID, "rct1");
     assertNextTokenType(lexer, ABLNodeType.OBJCOLON, ":");
@@ -75,7 +75,7 @@ public void testDecimalNumber01() {
   @Test
   public void testDecimalNumber02() {
     final String source = "rct1:height = .1\n rct1:row ";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenType(lexer, ABLNodeType.ID, "rct1");
     assertNextTokenType(lexer, ABLNodeType.OBJCOLON, ":");
@@ -90,7 +90,7 @@ public void testDecimalNumber02() {
   @Test
   public void testDecimalNumber03() {
     final String source = "rct1:height = var1 * .1\n rct1:row ";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenType(lexer, ABLNodeType.ID, "rct1");
     assertNextTokenType(lexer, ABLNodeType.OBJCOLON, ":");
@@ -107,7 +107,7 @@ public void testDecimalNumber03() {
   @Test
   public void testDecimalNumber04() {
     final String source = "rct1:height = .1 * var1\nrct1:row ";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenType(lexer, ABLNodeType.ID, "rct1");
     assertNextTokenType(lexer, ABLNodeType.OBJCOLON, ":");
@@ -124,7 +124,7 @@ public void testDecimalNumber04() {
   @Test
   public void testSymbols() {
     final String source = "+ - +123 -123 += -= * *= / /= ";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.PLUS);
     assertNextTokenTypeWS(lexer, ABLNodeType.MINUS);
@@ -141,7 +141,7 @@ public void testSymbols() {
   @Test
   public void testAmpersand01() {
     final String source = "MESSAGE &giélles &ab-cd &ab#$%&&-_cd & && &ab/*foo*/ &ab/def message";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.MESSAGE);
     assertNextTokenTypeWS(lexer, ABLNodeType.FILENAME, "&giélles");
@@ -157,7 +157,7 @@ public void testAmpersand01() {
   @Test
   public void testSlash01() {
     final String source = "MESSAGE / xyz /(2) /10";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.MESSAGE);
     assertNextTokenTypeWS(lexer, ABLNodeType.SLASH, "/");
@@ -177,7 +177,7 @@ public void testSlash02() {
     ((ProparseSettings) session2.getProparseSettings()).setTokenStartChars(new char[] {'/'});
 
     final String source = "MESSAGE / xyz /(2) /10";
-    ABLLexer lexer = new ABLLexer(session2, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session2, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.MESSAGE);
     assertNextTokenTypeWS(lexer, ABLNodeType.SLASH, "/");
@@ -192,7 +192,7 @@ public void testSlash02() {
   @Test
   public void testSlash03() {
     final String source = "MESSAGE //Test\nMESSAGE";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.MESSAGE);
     assertNextTokenTypeWS(lexer, ABLNodeType.COMMENT, "//Test");
@@ -202,7 +202,7 @@ public void testSlash03() {
   @Test
   public void testSlash04() {
     final String source = "MESSAGE /*Test*/ MESSAGE";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.MESSAGE);
     assertNextTokenTypeWS(lexer, ABLNodeType.COMMENT, "/*Test*/");
@@ -212,7 +212,7 @@ public void testSlash04() {
   @Test
   public void testAt01() {
     final String source = "message h@ello @hello @ RETURNS";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.MESSAGE);
     assertNextTokenTypeWS(lexer, ABLNodeType.ID, "h@ello");
@@ -224,7 +224,7 @@ public void testAt01() {
   @Test
   public void testCaret01() {
     final String source = "FUNCTION h^ello ^hello ^ RETURNS VOID";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.FUNCTION);
     assertNextTokenTypeWS(lexer, ABLNodeType.ID, "h^ello");
@@ -241,7 +241,7 @@ public void testCaret02() {
     ((ProparseSettings) session2.getProparseSettings()).setTokenStartChars(new char[] {'^'});
 
     final String source = "FUNCTION h^ello ^hello ^ RETURNS VOID";
-    ABLLexer lexer = new ABLLexer(session2, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session2, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.FUNCTION);
     assertNextTokenTypeWS(lexer, ABLNodeType.ID, "h^ello");
@@ -253,7 +253,7 @@ public void testCaret02() {
   @Test
   public void testSemiColon01() {
     final String source = "FUNCTION h;ello ;hello ; RETURNS VOID";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.FUNCTION);
     assertNextTokenTypeWS(lexer, ABLNodeType.ID, "h;ello");
@@ -270,7 +270,7 @@ public void testSemiColon02() {
     ((ProparseSettings) session2.getProparseSettings()).setTokenStartChars(new char[] {';'});
 
     final String source = "FUNCTION h;ello ;hello ; RETURNS VOID";
-    ABLLexer lexer = new ABLLexer(session2, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session2, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.FUNCTION);
     assertNextTokenTypeWS(lexer, ABLNodeType.ID, "h;ello");
@@ -282,7 +282,7 @@ public void testSemiColon02() {
   @Test
   public void testStar01() {
     final String source = "FUNCTION h*ello *hello * *= RETURNS";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.FUNCTION);
     assertNextTokenTypeWS(lexer, ABLNodeType.ID, "h*ello");
@@ -300,7 +300,7 @@ public void testStar02() {
     ((ProparseSettings) session2.getProparseSettings()).setTokenStartChars(new char[] {'*'});
 
     final String source = "FUNCTION h*ello *hello * *= VOID";
-    ABLLexer lexer = new ABLLexer(session2, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session2, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.FUNCTION);
     assertNextTokenTypeWS(lexer, ABLNodeType.ID, "h*ello");
@@ -313,7 +313,7 @@ public void testStar02() {
   @Test
   public void testExclamationHashPercent01() {
     final String source = "FUNCTION h#ello h%ello #hello %hello # % RETURNS ";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.FUNCTION);
     assertNextTokenTypeWS(lexer, ABLNodeType.ID, "h#ello");
@@ -328,7 +328,7 @@ public void testExclamationHashPercent01() {
   @Test
   public void testExclamationMarkBacktick01() {
     final String source = "FUNCTION h!ello !hello ! h`ello `hello ` RETURNS";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.FUNCTION);
     assertNextTokenTypeWS(lexer, ABLNodeType.ID, "h!ello");
@@ -349,7 +349,7 @@ public void testExclamationMarkBacktick02() {
     ((ProparseSettings) session2.getProparseSettings()).setTokenStartChars(new char[] {'!', '`'});
 
     final String source = "FUNCTION h!ello !hello ! h`ello `hello ` RETURNS";
-    ABLLexer lexer = new ABLLexer(session2, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session2, ByteSource.wrap(source.getBytes()), true);
 
     assertNextTokenTypeWS(lexer, ABLNodeType.FUNCTION);
     assertNextTokenTypeWS(lexer, ABLNodeType.ID, "h!ello");
@@ -365,7 +365,7 @@ public void testExclamationMarkBacktick02() {
   public void testEndOfFile() {
     // Could be anything...
     final String source = "CURRENT-WINDOW:HANDLE. SESSION:FIRST-SERVER-SOCKET:HANDLE. TEMP-TABLE tt1::fld1. DATASET ds1::tt1. DATASET ds1::tt1:set-callback().";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(source.getBytes()), true);
 
     while (lexer.nextToken().getType() != Token.EOF) {
       // Consume until the end of the file
@@ -742,7 +742,7 @@ public void testEscapeInPrepro() {
   @Test(enabled = false)
   public void testQuotesInPrepro01() {
     String code = "&SCOPED-DEFINE EMPTY1\n&SCOPED-DEFINE EMPTY2\"\"\n\n&MESSAGE X{&EMPTY1}X{&EMPTY2}X\n";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(code.getBytes()), "file.txt", true);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(code.getBytes()), true);
     Token tok = lexer.nextToken();
     while (tok.getType() != Token.EOF) {
       tok = lexer.nextToken();
@@ -757,7 +757,7 @@ public void testQuotesInPrepro01() {
   @Test(enabled = false)
   public void testQuotesInPrepro02() {
     String code = "&SCOPED-DEFINE EMPTY1\n&SCOPED-DEFINE EMPTY2\"\"\n\n{ lexer/lexer24.i &P1 = \"{&EMPTY1}\" &P2 = \"{&EMPTY2}\" }\n";
-    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(code.getBytes()), "file.txt", false);
+    ABLLexer lexer = new ABLLexer(session, ByteSource.wrap(code.getBytes()), false);
     Token tok = lexer.nextToken();
     while (tok.getType() != Token.EOF) {
       tok = lexer.nextToken();
diff --git a/proparse/src/test/java/org/prorefactor/proparse/ExpressionEngineTest.java b/proparse/src/test/java/org/prorefactor/proparse/ExpressionEngineTest.java
index 4ca4d0361..cef4a681f 100644
--- a/proparse/src/test/java/org/prorefactor/proparse/ExpressionEngineTest.java
+++ b/proparse/src/test/java/org/prorefactor/proparse/ExpressionEngineTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
@@ -48,8 +48,10 @@
 
 import eu.rssw.pct.RCodeInfo.InvalidRCodeException;
 import eu.rssw.pct.elements.DataType;
+import eu.rssw.pct.elements.ParameterMode;
 import eu.rssw.pct.elements.PrimitiveDataType;
 import eu.rssw.pct.elements.fixed.MethodElement;
+import eu.rssw.pct.elements.fixed.Parameter;
 import eu.rssw.pct.elements.fixed.PropertyElement;
 import eu.rssw.pct.elements.fixed.TypeInfo;
 import eu.rssw.pct.elements.fixed.VariableElement;
@@ -73,6 +75,13 @@ public void setUp() throws IOException, InvalidRCodeException {
     typeInfo02.addMethod(new MethodElement("m1", false, DataType.VOID));
     typeInfo02.addMethod(new MethodElement("m2", false, DataType.INT64));
     session.injectTypeInfo(typeInfo02);
+
+    // For testStaticMethod
+    TypeInfo typeInfo03 = new TypeInfo("rssw.test.Class04", false, false, "Progress.Lang.Object", "");
+    typeInfo03.addMethod(new MethodElement("m1", true, DataType.CHARACTER));
+    typeInfo03.addMethod(new MethodElement("m2", true, DataType.INTEGER));
+    typeInfo03.addMethod(new MethodElement("m2", true, DataType.INT64, new Parameter(1, "prm1", 0, ParameterMode.INPUT, DataType.INTEGER)));
+    session.injectTypeInfo(typeInfo03);
   }
 
   @Test
@@ -366,9 +375,77 @@ public void testObjectAttribute02() {
   }
 
   @Test
-  public void testObjectMethod() {
+  public void testEnumValues01() {
+    ParseUnit unit = new ParseUnit(
+        "message Progress.Reflect.AccessMode:Public. message Progress.Reflect.AccessMode:Private.",
+        session);
+    unit.treeParser01();
+
+    List nodes = unit.getTopNode().queryExpressions();
+    assertEquals(nodes.size(), 2);
+
+    assertTrue(nodes.get(0) instanceof AttributeReferenceNode);
+    IExpression exp = nodes.get(0);
+    assertEquals(exp.getDataType().getPrimitive(), PrimitiveDataType.CLASS);
+    assertEquals(exp.getDataType().getClassName(), "Progress.Reflect.AccessMode");
+
+    assertTrue(nodes.get(1) instanceof AttributeReferenceNode);
+    IExpression exp2 = nodes.get(1);
+    assertEquals(exp2.getDataType().getPrimitive(), PrimitiveDataType.CLASS);
+    assertEquals(exp2.getDataType().getClassName(), "Progress.Reflect.AccessMode");
+  }
+
+  @Test
+  public void testEnumValues02() {
     ParseUnit unit = new ParseUnit(
+        "using Progress.Reflect.AccessMode. message AccessMode:Public. message AccessMode:Private.",
+        session);
+    unit.treeParser01();
+
+    List nodes = unit.getTopNode().queryExpressions();
+    assertEquals(nodes.size(), 2);
+
+    assertTrue(nodes.get(0) instanceof AttributeReferenceNode);
+    IExpression exp = nodes.get(0);
+    assertEquals(exp.getDataType().getPrimitive(), PrimitiveDataType.CLASS);
+    assertEquals(exp.getDataType().getClassName(), "Progress.Reflect.AccessMode");
+
+    assertTrue(nodes.get(1) instanceof AttributeReferenceNode);
+    IExpression exp2 = nodes.get(1);
+    assertEquals(exp2.getDataType().getPrimitive(), PrimitiveDataType.CLASS);
+    assertEquals(exp2.getDataType().getClassName(), "Progress.Reflect.AccessMode");
+  }
+
+  @Test
+  public void testStaticMethod01() {
+    ParseUnit unit = new ParseUnit("message rssw.test.Class04:m1().", session);
+    unit.treeParser01();
+
+    List nodes = unit.getTopNode().queryExpressions();
+    assertEquals(nodes.size(), 1);
+
+    assertTrue(nodes.get(0) instanceof MethodCallNode);
+    IExpression exp = nodes.get(0);
+    assertEquals(exp.getDataType().getPrimitive(), PrimitiveDataType.CHARACTER);
+  }
 
+  @Test
+  public void testStaticMethod02() {
+    ParseUnit unit = new ParseUnit("message rssw.test.Class04:m2(1).", session);
+    unit.treeParser01();
+
+    List nodes = unit.getTopNode().queryExpressions();
+    assertEquals(nodes.size(), 1);
+
+    assertTrue(nodes.get(0) instanceof MethodCallNode);
+    IExpression exp = nodes.get(0);
+    // Wrong answer. Current implementation doesn't take parameters into account.
+    assertEquals(exp.getDataType().getPrimitive(), PrimitiveDataType.INTEGER);
+  }
+
+  @Test
+  public void testObjectMethod() {
+    ParseUnit unit = new ParseUnit(
         "def var xx as Progress.Lang.Object. message xx:toString(). message xx:UnknownMethod().", session);
     unit.treeParser01();
 
diff --git a/proparse/src/test/java/org/prorefactor/proparse/PostLexerTest.java b/proparse/src/test/java/org/prorefactor/proparse/PostLexerTest.java
index 41cb6bca8..0cc952e44 100644
--- a/proparse/src/test/java/org/prorefactor/proparse/PostLexerTest.java
+++ b/proparse/src/test/java/org/prorefactor/proparse/PostLexerTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/org/prorefactor/proparse/TokenListTest.java b/proparse/src/test/java/org/prorefactor/proparse/TokenListTest.java
index 9126ec900..47da4ab7e 100644
--- a/proparse/src/test/java/org/prorefactor/proparse/TokenListTest.java
+++ b/proparse/src/test/java/org/prorefactor/proparse/TokenListTest.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License 2.0 which is available at
diff --git a/proparse/src/test/java/simplelogger.properties b/proparse/src/test/java/simplelogger.properties
index 78ff00695..b2aeb79ce 100644
--- a/proparse/src/test/java/simplelogger.properties
+++ b/proparse/src/test/java/simplelogger.properties
@@ -1,5 +1,6 @@
 # Valid levels are trace, debug, info, warn, error
 org.slf4j.simpleLogger.defaultLogLevel=info
+org.slf4j.simpleLogger.log.org.testng.internal.Utils=warn
 # org.slf4j.simpleLogger.log.org.prorefactor.proparse.ClassFinder=trace
 # org.slf4j.simpleLogger.log.org.prorefactor.proparse.Preprocessor=trace
 # org.slf4j.simpleLogger.log.org.prorefactor.proparse.ProEval=trace
diff --git a/proparse/src/test/resources/data/bugsfixed/varusage.cls b/proparse/src/test/resources/data/bugsfixed/varusage.cls
index 92ea9678d..8db993df5 100644
--- a/proparse/src/test/resources/data/bugsfixed/varusage.cls
+++ b/proparse/src/test/resources/data/bugsfixed/varusage.cls
@@ -1,4 +1,4 @@
-class bugsfixed.varusage:
+class bugsfixed.foobar.varusage:
   define private static variable x1 as char.
   define private variable x2 as char.
   define private variable x3 as char.
@@ -10,14 +10,14 @@ class bugsfixed.varusage:
   define variable lRun  as handle no-undo.
 
   constructor varusage(prm as char):
-    bugsfixed.varusage:x1 = prm.
+    bugsfixed.foobar.varusage:x1 = prm.
     varusage:x1 = prm.
     this-object:x2 = prm.
     x3 = prm.
   end.
 
   method public void mthd1():
-    this-object:mthd2(bugsfixed.varusage:x1, x2).
+    this-object:mthd2(bugsfixed.foobar.varusage:x1, x2).
   end.
 
   method public void mthd2(x as char, y as char):
diff --git a/rcode-reader/.settings/org.eclipse.jdt.core.prefs b/rcode-reader/.settings/org.eclipse.jdt.core.prefs
index a45024cdb..4f1dd0622 100644
--- a/rcode-reader/.settings/org.eclipse.jdt.core.prefs
+++ b/rcode-reader/.settings/org.eclipse.jdt.core.prefs
@@ -4,6 +4,7 @@ org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
 org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
+org.eclipse.jdt.core.compiler.processAnnotations=disabled
 org.eclipse.jdt.core.compiler.release=disabled
 org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
diff --git a/rcode-reader/pom.xml b/rcode-reader/pom.xml
index 721bd4c87..54dcd816d 100644
--- a/rcode-reader/pom.xml
+++ b/rcode-reader/pom.xml
@@ -4,7 +4,7 @@
 
   eu.rssw.openedge.rcode
   rcode-reader
-  2.18.1
+  2.19.0
 
   rcode-reader
   rcode reader
@@ -49,12 +49,12 @@
     
       com.google.guava
       guava
-      31.0.1-jre
+      31.1-jre
     
     
       org.testng
       testng
-      7.4.0
+      7.7.0
       test
     
   
@@ -65,7 +65,7 @@
         
           org.sonarsource.scanner.maven
           sonar-maven-plugin
-          3.9.0.2155
+          3.9.1.2184
         
       
     
@@ -74,7 +74,7 @@
       
         org.jacoco
         jacoco-maven-plugin
-        0.8.7
+        0.8.8
         
           
             
@@ -114,7 +114,7 @@
           
             org.apache.maven.plugins
             maven-javadoc-plugin
-            3.2.0
+            3.4.1
             
               
                 attach-javadocs
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/FileEntry.java b/rcode-reader/src/main/java/eu/rssw/pct/FileEntry.java
index eb0c20846..c866ab8e7 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/FileEntry.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/FileEntry.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/PLReader.java b/rcode-reader/src/main/java/eu/rssw/pct/PLReader.java
index 18d7b970f..22b458bb9 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/PLReader.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/PLReader.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/RCodeInfo.java b/rcode-reader/src/main/java/eu/rssw/pct/RCodeInfo.java
index ecf366974..c9585abfd 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/RCodeInfo.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/RCodeInfo.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/AbstractAccessibleElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/AbstractAccessibleElement.java
index 2a568d0e6..c06b7a273 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/AbstractAccessibleElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/AbstractAccessibleElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/AbstractElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/AbstractElement.java
index 29f1c4418..472fb971e 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/AbstractElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/AbstractElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/AccessType.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/AccessType.java
index b2b6ec44b..08876db1c 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/AccessType.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/AccessType.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/DataType.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/DataType.java
index beabfc8dd..11da60577 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/DataType.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/DataType.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/ElementKind.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/ElementKind.java
index 3909403ad..804be1a25 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/ElementKind.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/ElementKind.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IAccessibleElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IAccessibleElement.java
index db0e61f76..2fd7e5623 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IAccessibleElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IAccessibleElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IBufferElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IBufferElement.java
index 26120fcc3..c20b52c05 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IBufferElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IBufferElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IDataRelationElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IDataRelationElement.java
index 57f1b801b..bdfdda197 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IDataRelationElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IDataRelationElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IDataSourceElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IDataSourceElement.java
index 44f60ac94..23bee32d7 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IDataSourceElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IDataSourceElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IDatasetElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IDatasetElement.java
index b20d824d7..20ee4236a 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IDatasetElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IDatasetElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IElement.java
index fe17cd5da..89b0c98a6 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IEnumDescriptor.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IEnumDescriptor.java
index fcf56e30b..3aaac05f4 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IEnumDescriptor.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IEnumDescriptor.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IEventElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IEventElement.java
index 5f68b4447..4b24fbe0c 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IEventElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IEventElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IIndexComponentElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IIndexComponentElement.java
index 272fa7d75..dca1daa11 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IIndexComponentElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IIndexComponentElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IIndexElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IIndexElement.java
index a7ef89377..6d322e359 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IIndexElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IIndexElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IMethodElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IMethodElement.java
index e981488bd..d5aa62d4b 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IMethodElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IMethodElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IParameter.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IParameter.java
index fe8fabe0a..e03ff8bf0 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IParameter.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IParameter.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IPropertyElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IPropertyElement.java
index 016263a29..976c3fd8d 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IPropertyElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IPropertyElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IQueryElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IQueryElement.java
index 84e5b8c16..82e437509 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IQueryElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IQueryElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/ITableElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/ITableElement.java
index d9274a7aa..a8ca8ed7c 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/ITableElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/ITableElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/ITypeInfo.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/ITypeInfo.java
index 8a549b5e3..b4d2b8182 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/ITypeInfo.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/ITypeInfo.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/IVariableElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/IVariableElement.java
index 1fd663977..4d5718685 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/IVariableElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/IVariableElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/ParameterMode.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/ParameterMode.java
index d8210dedf..f211e8934 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/ParameterMode.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/ParameterMode.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/ParameterType.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/ParameterType.java
index f4825f145..434e18986 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/ParameterType.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/ParameterType.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/PrimitiveDataType.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/PrimitiveDataType.java
index 807358444..1aab3e2e0 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/PrimitiveDataType.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/PrimitiveDataType.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/MethodElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/MethodElement.java
index 1ed3ff0d7..470b4ddf4 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/MethodElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/MethodElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/Parameter.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/Parameter.java
index b116fb415..dd57fde69 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/Parameter.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/Parameter.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/PropertyElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/PropertyElement.java
index 166758304..c86f7cbe4 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/PropertyElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/PropertyElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/TypeInfo.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/TypeInfo.java
index 4ff4f434b..f37a01c96 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/TypeInfo.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/TypeInfo.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/VariableElement.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/VariableElement.java
index 3124e7c61..2b237ec9c 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/VariableElement.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/fixed/VariableElement.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/BufferElementV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/BufferElementV11.java
index c91fe6312..8e62c57e3 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/BufferElementV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/BufferElementV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/DataRelationElementV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/DataRelationElementV11.java
index 9e9b80162..fbd889c9a 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/DataRelationElementV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/DataRelationElementV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/DataSourceElementV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/DataSourceElementV11.java
index 9cba8ad63..41d43b6ac 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/DataSourceElementV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/DataSourceElementV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/DatasetElementV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/DatasetElementV11.java
index cffbf1bfd..69e86dea6 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/DatasetElementV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/DatasetElementV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/EventElementV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/EventElementV11.java
index f3f927fa5..e9a1f4279 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/EventElementV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/EventElementV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/IndexComponentElementV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/IndexComponentElementV11.java
index df0c77899..0a74cb5f5 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/IndexComponentElementV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/IndexComponentElementV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/IndexElementV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/IndexElementV11.java
index 676b792f0..54bc4229c 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/IndexElementV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/IndexElementV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/MethodElementV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/MethodElementV11.java
index cd4768857..f7a51798d 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/MethodElementV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/MethodElementV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/MethodParameterV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/MethodParameterV11.java
index 552d5a0d9..7d545a4ef 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/MethodParameterV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/MethodParameterV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/PropertyElementV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/PropertyElementV11.java
index 62d7ecc48..eee88a444 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/PropertyElementV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/PropertyElementV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/QueryElementV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/QueryElementV11.java
index 16f811f9f..3a9213ad2 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/QueryElementV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/QueryElementV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/TableElementV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/TableElementV11.java
index f27e54188..8ef5dd05f 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/TableElementV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/TableElementV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/TypeInfoV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/TypeInfoV11.java
index fcdb894c5..e85365bfb 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/TypeInfoV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/TypeInfoV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/VariableElementV11.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/VariableElementV11.java
index 6ca3561e2..a20035ca1 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/VariableElementV11.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v11/VariableElementV11.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/BufferElementV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/BufferElementV12.java
index bdf98f5ef..15791074c 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/BufferElementV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/BufferElementV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/DataRelationElementV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/DataRelationElementV12.java
index 90aff64e4..652796546 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/DataRelationElementV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/DataRelationElementV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/DataSourceElementV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/DataSourceElementV12.java
index ba1529163..6f5e52ba2 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/DataSourceElementV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/DataSourceElementV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/DatasetElementV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/DatasetElementV12.java
index bb9709c07..c1a72c27c 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/DatasetElementV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/DatasetElementV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/EnumDescriptorV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/EnumDescriptorV12.java
index c9d6eb124..790e20fa1 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/EnumDescriptorV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/EnumDescriptorV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/EventElementV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/EventElementV12.java
index ce9ad5f99..4805a7d58 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/EventElementV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/EventElementV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/IndexComponentElementV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/IndexComponentElementV12.java
index 004ecb4d9..6c59e440c 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/IndexComponentElementV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/IndexComponentElementV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/IndexElementV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/IndexElementV12.java
index 5ae67dab3..b85d05d27 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/IndexElementV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/IndexElementV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/MethodElementV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/MethodElementV12.java
index f55a88e0c..9de8a1257 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/MethodElementV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/MethodElementV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/MethodParameterV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/MethodParameterV12.java
index 00f4d8c79..5cdf4a910 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/MethodParameterV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/MethodParameterV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/PropertyElementV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/PropertyElementV12.java
index 65c8e9045..394704f2e 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/PropertyElementV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/PropertyElementV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/QueryElementV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/QueryElementV12.java
index c48817621..bed33389f 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/QueryElementV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/QueryElementV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/TableElementV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/TableElementV12.java
index e4546a290..4b89db72c 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/TableElementV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/TableElementV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/TypeInfoV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/TypeInfoV12.java
index ec9d9538d..885cb86d1 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/TypeInfoV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/TypeInfoV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/VariableElementV12.java b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/VariableElementV12.java
index cb8f498d3..dba3eade4 100644
--- a/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/VariableElementV12.java
+++ b/rcode-reader/src/main/java/eu/rssw/pct/elements/v12/VariableElementV12.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/test/java/eu/rssw/pct/DataTypeTest.java b/rcode-reader/src/test/java/eu/rssw/pct/DataTypeTest.java
index 727b0967e..6b8905614 100644
--- a/rcode-reader/src/test/java/eu/rssw/pct/DataTypeTest.java
+++ b/rcode-reader/src/test/java/eu/rssw/pct/DataTypeTest.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/test/java/eu/rssw/pct/PLReaderTest.java b/rcode-reader/src/test/java/eu/rssw/pct/PLReaderTest.java
index 2d7463bc6..d577b9fac 100644
--- a/rcode-reader/src/test/java/eu/rssw/pct/PLReaderTest.java
+++ b/rcode-reader/src/test/java/eu/rssw/pct/PLReaderTest.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/test/java/eu/rssw/pct/RCodeInfoTest.java b/rcode-reader/src/test/java/eu/rssw/pct/RCodeInfoTest.java
index e2684cd67..1eb76b0b3 100644
--- a/rcode-reader/src/test/java/eu/rssw/pct/RCodeInfoTest.java
+++ b/rcode-reader/src/test/java/eu/rssw/pct/RCodeInfoTest.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or
diff --git a/rcode-reader/src/test/java/eu/rssw/pct/SpecialSkipInputStreamWrapper.java b/rcode-reader/src/test/java/eu/rssw/pct/SpecialSkipInputStreamWrapper.java
index 7c9651bc2..46f02fd1a 100644
--- a/rcode-reader/src/test/java/eu/rssw/pct/SpecialSkipInputStreamWrapper.java
+++ b/rcode-reader/src/test/java/eu/rssw/pct/SpecialSkipInputStreamWrapper.java
@@ -1,6 +1,6 @@
 /*
  * OpenEdge plugin for SonarQube
- * Copyright (c) 2015-2022 Riverside Software
+ * Copyright (c) 2015-2023 Riverside Software
  * contact AT riverside DASH software DOT fr
  * 
  * This program is free software; you can redistribute it and/or