Skip to content

Commit b2d1aa9

Browse files
committed
Merge branch 'release/V3.2.0'
2 parents 5959c9c + a705e6c commit b2d1aa9

File tree

23 files changed

+637
-157
lines changed

23 files changed

+637
-157
lines changed

coverage-report/pom.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>eu.rssw</groupId>
77
<artifactId>sonar-openedge</artifactId>
8-
<version>3.1.0</version>
8+
<version>3.2.0</version>
99
</parent>
1010
<groupId>eu.rssw.openedge.parsers</groupId>
1111
<artifactId>coverage-report</artifactId>
@@ -21,37 +21,37 @@
2121
<dependency>
2222
<groupId>eu.rssw.openedge.rcode</groupId>
2323
<artifactId>rcode-reader</artifactId>
24-
<version>3.1.0</version>
24+
<version>3.2.0</version>
2525
</dependency>
2626
<dependency>
2727
<groupId>eu.rssw.sonar.openedge</groupId>
2828
<artifactId>sonar-openedge-plugin</artifactId>
29-
<version>3.1.0</version>
29+
<version>3.2.0</version>
3030
</dependency>
3131
<dependency>
3232
<groupId>eu.rssw.openedge.parsers</groupId>
3333
<artifactId>proparse</artifactId>
34-
<version>3.1.0</version>
34+
<version>3.2.0</version>
3535
</dependency>
3636
<dependency>
3737
<groupId>eu.rssw.openedge.parsers</groupId>
3838
<artifactId>profiler-parser</artifactId>
39-
<version>3.1.0</version>
39+
<version>3.2.0</version>
4040
</dependency>
4141
<dependency>
4242
<groupId>eu.rssw.openedge.parsers</groupId>
4343
<artifactId>database-parser</artifactId>
44-
<version>3.1.0</version>
44+
<version>3.2.0</version>
4545
</dependency>
4646
<dependency>
4747
<groupId>eu.rssw.openedge.parsers</groupId>
4848
<artifactId>listing-parser</artifactId>
49-
<version>3.1.0</version>
49+
<version>3.2.0</version>
5050
</dependency>
5151
<dependency>
5252
<groupId>eu.rssw.openedge.checks</groupId>
5353
<artifactId>openedge-checks</artifactId>
54-
<version>3.1.0</version>
54+
<version>3.2.0</version>
5555
</dependency>
5656
</dependencies>
5757

database-parser/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>eu.rssw</groupId>
77
<artifactId>sonar-openedge</artifactId>
8-
<version>3.1.0</version>
8+
<version>3.2.0</version>
99
</parent>
1010
<groupId>eu.rssw.openedge.parsers</groupId>
1111
<artifactId>database-parser</artifactId>

listing-parser/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>eu.rssw</groupId>
77
<artifactId>sonar-openedge</artifactId>
8-
<version>3.1.0</version>
8+
<version>3.2.0</version>
99
</parent>
1010
<groupId>eu.rssw.openedge.parsers</groupId>
1111
<artifactId>listing-parser</artifactId>

openedge-checks/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>eu.rssw</groupId>
77
<artifactId>sonar-openedge</artifactId>
8-
<version>3.1.0</version>
8+
<version>3.2.0</version>
99
</parent>
1010
<groupId>eu.rssw.openedge.checks</groupId>
1111
<artifactId>openedge-checks</artifactId>
@@ -23,12 +23,12 @@
2323
<dependency>
2424
<groupId>eu.rssw.openedge.parsers</groupId>
2525
<artifactId>database-parser</artifactId>
26-
<version>3.1.0</version>
26+
<version>3.2.0</version>
2727
</dependency>
2828
<dependency>
2929
<groupId>eu.rssw.openedge.parsers</groupId>
3030
<artifactId>proparse</artifactId>
31-
<version>3.1.0</version>
31+
<version>3.2.0</version>
3232
</dependency>
3333
<dependency>
3434
<groupId>org.testng</groupId>

openedge-plugin/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>eu.rssw</groupId>
77
<artifactId>sonar-openedge</artifactId>
8-
<version>3.1.0</version>
8+
<version>3.2.0</version>
99
</parent>
1010
<groupId>eu.rssw.sonar.openedge</groupId>
1111
<artifactId>sonar-openedge-plugin</artifactId>
@@ -30,17 +30,17 @@
3030
<dependency>
3131
<groupId>eu.rssw.openedge.checks</groupId>
3232
<artifactId>openedge-checks</artifactId>
33-
<version>3.1.0</version>
33+
<version>3.2.0</version>
3434
</dependency>
3535
<dependency>
3636
<groupId>eu.rssw.openedge.parsers</groupId>
3737
<artifactId>listing-parser</artifactId>
38-
<version>3.1.0</version>
38+
<version>3.2.0</version>
3939
</dependency>
4040
<dependency>
4141
<groupId>eu.rssw.openedge.parsers</groupId>
4242
<artifactId>profiler-parser</artifactId>
43-
<version>3.1.0</version>
43+
<version>3.2.0</version>
4444
</dependency>
4545
<dependency>
4646
<groupId>org.sonarsource.sonarqube</groupId>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>eu.rssw</groupId>
77
<artifactId>sonar-openedge</artifactId>
8-
<version>3.1.0</version>
8+
<version>3.2.0</version>
99
<packaging>pom</packaging>
1010

1111
<name>OpenEdge plugin for SonarQube</name>

profiler-parser/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>eu.rssw</groupId>
77
<artifactId>sonar-openedge</artifactId>
8-
<version>3.1.0</version>
8+
<version>3.2.0</version>
99
</parent>
1010
<groupId>eu.rssw.openedge.parsers</groupId>
1111
<artifactId>profiler-parser</artifactId>

proparse/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>eu.rssw</groupId>
77
<artifactId>sonar-openedge</artifactId>
8-
<version>3.1.0</version>
8+
<version>3.2.0</version>
99
</parent>
1010
<groupId>eu.rssw.openedge.parsers</groupId>
1111
<artifactId>proparse</artifactId>
@@ -22,7 +22,7 @@
2222
<dependency>
2323
<groupId>eu.rssw.openedge.rcode</groupId>
2424
<artifactId>rcode-reader</artifactId>
25-
<version>3.1.0</version>
25+
<version>3.2.0</version>
2626
</dependency>
2727
<dependency>
2828
<groupId>org.antlr</groupId>

proparse/src/main/antlr4/org/prorefactor/proparse/antlr4/Proparse.g4

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -640,7 +640,7 @@ memberName:
640640

641641
expressionTerm2:
642642
LEFTPAREN expression RIGHTPAREN # exprt2ParenExpr
643-
| NEW typeName parameterList # exprt2New
643+
| NEW newTypeName parameterList # exprt2New
644644
| // Methods take precedence over built-in functions. The compiler does not seem to try recognize by function/method signature.
645645
{ expressionTerm2SemanticPredicate() }? fname=identifier parameterListNoRoot # exprt2ParenCall
646646
| // Have to predicate all of builtinfunc, because it can be ambiguous with method call.
@@ -791,6 +791,10 @@ filenamePart:
791791
~( PERIOD | LEXCOLON | RIGHTANGLE | LEFTANGLE | LEFTPAREN | LEFTCURLY )
792792
;
793793

794+
newTypeName:
795+
typeName
796+
;
797+
794798
typeName:
795799
nonPunctuating ( LEFTANGLE typeName ( COMMA typeName )* RIGHTANGLE )?
796800
;

proparse/src/main/java/org/prorefactor/core/nodetypes/ExpressionNode.java

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
********************************************************************************/
1515
package org.prorefactor.core.nodetypes;
1616

17-
import java.util.List;
1817
import java.util.function.Function;
1918

2019
import org.prorefactor.core.ABLNodeType;
@@ -742,15 +741,34 @@ static DataType getStandardMethodDataType(String id) {
742741
}
743742
}
744743

745-
static Pair<ITypeInfo, IMethodElement> getObjectMethod(Function<String, ITypeInfo> provider, JPNode node, ITypeInfo info,
746-
String methodName) {
744+
static Pair<ITypeInfo, IMethodElement> getObjectConstructor(Function<String, ITypeInfo> provider, JPNode node,
745+
ITypeInfo info) {
747746
// Create array of dataTypes
748-
List<JPNode> paramItems = node.getDirectChildren(ABLNodeType.PARAMETER_ITEM);
749-
DataType[] params = new DataType[paramItems.size()];
747+
var paramItems = node.getDirectChildren(ABLNodeType.PARAMETER_ITEM);
748+
var params = new DataType[paramItems.size()];
750749
int zz = 0;
751-
for (JPNode ch : paramItems) {
752-
DataType dt = DataType.UNKNOWN;
753-
for (JPNode ch2 : ch.getDirectChildren()) {
750+
for (var ch : paramItems) {
751+
var dt = DataType.UNKNOWN;
752+
for (var ch2 : ch.getDirectChildren()) {
753+
if ((dt == DataType.UNKNOWN) && ch2.isIExpression()) {
754+
dt = ch2.asIExpression().getDataType();
755+
}
756+
}
757+
params[zz++] = dt;
758+
}
759+
760+
return info == null ? null : info.getConstructor(provider, params);
761+
}
762+
763+
static Pair<ITypeInfo, IMethodElement> getObjectMethod(Function<String, ITypeInfo> provider, JPNode node,
764+
ITypeInfo info, String methodName) {
765+
// Create array of dataTypes
766+
var paramItems = node.getDirectChildren(ABLNodeType.PARAMETER_ITEM);
767+
var params = new DataType[paramItems.size()];
768+
int zz = 0;
769+
for (var ch : paramItems) {
770+
var dt = DataType.UNKNOWN;
771+
for (var ch2 : ch.getDirectChildren()) {
754772
if ((dt == DataType.UNKNOWN) && ch2.isIExpression()) {
755773
dt = ch2.asIExpression().getDataType();
756774
}

0 commit comments

Comments
 (0)