Skip to content

Commit

Permalink
Merge pull request #44 from Ishad-M-I-M/format-oneof-type
Browse files Browse the repository at this point in the history
Refator Code to use `!is` instead of `!(<variable> is <type>)`
  • Loading branch information
dilanSachi authored Oct 17, 2023
2 parents da5b700 + fd3790a commit ffbf33d
Show file tree
Hide file tree
Showing 29 changed files with 96 additions and 100 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,15 @@ public static TypeTestExpressionNode getTypeTestExpressionNode(ExpressionNode ex
);
}

public static TypeTestExpressionNode getUnaryTypeTestExpressionNode(ExpressionNode expression,
Node typeDescriptor) {
return NodeFactory.createTypeTestExpressionNode(
expression,
SyntaxTreeConstants.SYNTAX_TREE_KEYWORD_NOT_IS,
typeDescriptor
);
}

public static CheckExpressionNode getCheckExpressionNode(ExpressionNode expression) {
return NodeFactory.createCheckExpressionNode(
SyntaxKind.CHECK_ACTION,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ private SyntaxTreeConstants() {
public static final Token SYNTAX_TREE_UNDERSCORE = AbstractNodeFactory.createIdentifierToken("_");
public static final Token SYNTAX_TREE_OPTIONAL_CHAINING = AbstractNodeFactory.createIdentifierToken("?.");
public static final Token SYNTAX_TREE_AT = AbstractNodeFactory.createIdentifierToken("@");

public static final Token SYNTAX_TREE_KEYWORD_NEW = AbstractNodeFactory.createIdentifierToken("new ");
public static final Token SYNTAX_TREE_KEYWORD_IMPORT = AbstractNodeFactory.createIdentifierToken("import ");
public static final Token SYNTAX_TREE_KEYWORD_CHECK = AbstractNodeFactory.createIdentifierToken("check ");
Expand All @@ -74,6 +73,7 @@ private SyntaxTreeConstants() {
public static final Token SYNTAX_TREE_KEYWORD_IF = AbstractNodeFactory.createIdentifierToken("if ");
public static final Token SYNTAX_TREE_KEYWORD_ELSE = AbstractNodeFactory.createIdentifierToken("else ");
public static final Token SYNTAX_TREE_KEYWORD_IS = AbstractNodeFactory.createIdentifierToken("is ");
public static final Token SYNTAX_TREE_KEYWORD_NOT_IS = AbstractNodeFactory.createIdentifierToken("!is ");
public static final Token SYNTAX_TREE_KEYWORD_LISTENER = AbstractNodeFactory.createIdentifierToken("listener ");
public static final Token SYNTAX_TREE_KEYWORD_SERVICE = AbstractNodeFactory.createIdentifierToken("service ");
public static final Token SYNTAX_TREE_KEYWORD_ON = AbstractNodeFactory.createIdentifierToken("on ");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,10 @@

import static io.ballerina.protoc.GrpcConstants.ANN_DESCRIPTOR;
import static io.ballerina.protoc.builder.syntaxtree.components.Expression.getBinaryExpressionNode;
import static io.ballerina.protoc.builder.syntaxtree.components.Expression.getBracedExpressionNode;
import static io.ballerina.protoc.builder.syntaxtree.components.Expression.getFieldAccessExpressionNode;
import static io.ballerina.protoc.builder.syntaxtree.components.Expression.getMethodCallExpressionNode;
import static io.ballerina.protoc.builder.syntaxtree.components.Expression.getOptionalFieldAccessExpressionNode;
import static io.ballerina.protoc.builder.syntaxtree.components.Expression.getTypeTestExpressionNode;
import static io.ballerina.protoc.builder.syntaxtree.components.Expression.getUnaryExpressionNode;
import static io.ballerina.protoc.builder.syntaxtree.components.Expression.getUnaryTypeTestExpressionNode;
import static io.ballerina.protoc.builder.syntaxtree.components.Literal.getBooleanLiteralNode;
import static io.ballerina.protoc.builder.syntaxtree.components.Literal.getNumericLiteralNode;
import static io.ballerina.protoc.builder.syntaxtree.components.Statement.getCompoundAssignmentStatementNode;
Expand Down Expand Up @@ -247,14 +245,10 @@ private static Function getValidationFunction(Message message) {
function.addVariableStatement(count.getVariableDeclarationNode());
for (Field field : oneOfFieldMap.getValue()) {
IfElse oneOfFieldCheck = new IfElse(
getUnaryExpressionNode(
getBracedExpressionNode(
getTypeTestExpressionNode(
getOptionalFieldAccessExpressionNode("r", field.getFieldName()),
getNilTypeDescriptorNode()
)
)
)
getUnaryTypeTestExpressionNode(
getOptionalFieldAccessExpressionNode("r", field.getFieldName()),
getNilTypeDescriptorNode()
)
);
oneOfFieldCheck.addIfStatement(
getCompoundAssignmentStatementNode(
Expand All @@ -268,9 +262,7 @@ private static Function getValidationFunction(Message message) {
}
if (counts.size() > 0) {
IfElse countCheck = new IfElse(
getBracedExpressionNode(
getCountCheckBinaryExpression(counts)
)
getCountCheckBinaryExpression(counts)
);
countCheck.addIfStatement(
getReturnStatementNode(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
import static io.ballerina.protoc.builder.BallerinaFileBuilder.protofileModuleMap;
import static io.ballerina.protoc.builder.balgen.BalGenConstants.COLON;
import static io.ballerina.protoc.builder.balgen.BalGenConstants.PACKAGE_SEPARATOR;
import static io.ballerina.protoc.builder.syntaxtree.components.Expression.getBracedExpressionNode;
import static io.ballerina.protoc.builder.syntaxtree.components.Expression.getExplicitNewExpressionNode;
import static io.ballerina.protoc.builder.syntaxtree.components.Expression.getFieldAccessExpressionNode;
import static io.ballerina.protoc.builder.syntaxtree.components.Expression.getMethodCallExpressionNode;
Expand Down Expand Up @@ -228,11 +227,9 @@ private static Function getNextFunction(Method method, String filename) {
function.addVariableStatement(streamValue.getVariableDeclarationNode());

IfElse streamValueNilCheck = new IfElse(
getBracedExpressionNode(
getTypeTestExpressionNode(
getSimpleNameReferenceNode("streamValue"),
getNilTypeDescriptorNode()
)
getTypeTestExpressionNode(
getSimpleNameReferenceNode("streamValue"),
getNilTypeDescriptorNode()
)
);
streamValueNilCheck.addIfStatement(
Expand All @@ -241,11 +238,9 @@ private static Function getNextFunction(Method method, String filename) {
)
);
IfElse streamValueErrorCheck = new IfElse(
getBracedExpressionNode(
getTypeTestExpressionNode(
getSimpleNameReferenceNode("streamValue"),
SyntaxTreeConstants.SYNTAX_TREE_GRPC_ERROR
)
getTypeTestExpressionNode(
getSimpleNameReferenceNode("streamValue"),
SyntaxTreeConstants.SYNTAX_TREE_GRPC_ERROR
)
);
streamValueErrorCheck.addIfStatement(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,9 @@ public class ResMessageStream {

public isolated function next() returns record {|ResMessage value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|ResMessage value;|} nextRecord = {value: <ResMessage>streamValue.value};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,9 @@ public class ResMessageStream {

public isolated function next() returns record {|ResMessage value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|ResMessage value;|} nextRecord = {value: <ResMessage>streamValue.value};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,26 +166,26 @@ public type Request1 record {|

isolated function isValidRequest1(Request1 r) returns boolean {
int otherCount = 0;
if !(r?.age is ()) {
if r?.age !is () {
otherCount += 1;
}
if !(r?.address is ()) {
if r?.address !is () {
otherCount += 1;
}
if !(r?.married is ()) {
if r?.married !is () {
otherCount += 1;
}
int nameCount = 0;
if !(r?.first_name is ()) {
if r?.first_name !is () {
nameCount += 1;
}
if !(r?.last_name is ()) {
if r?.last_name !is () {
nameCount += 1;
}
if !(r?.'version is ()) {
if r?.'version !is () {
nameCount += 1;
}
if (otherCount > 1 || nameCount > 1) {
if otherCount > 1 || nameCount > 1 {
return false;
}
return true;
Expand Down Expand Up @@ -235,13 +235,13 @@ public type Address1 record {|

isolated function isValidAddress1(Address1 r) returns boolean {
int codeCount = 0;
if !(r?.house_number is ()) {
if r?.house_number !is () {
codeCount += 1;
}
if !(r?.street_number is ()) {
if r?.street_number !is () {
codeCount += 1;
}
if (codeCount > 1) {
if codeCount > 1 {
return false;
}
return true;
Expand Down Expand Up @@ -285,40 +285,40 @@ public type ZZZ record {|

isolated function isValidZzz(ZZZ r) returns boolean {
int valueCount = 0;
if !(r?.one_a is ()) {
if r?.one_a !is () {
valueCount += 1;
}
if !(r?.one_b is ()) {
if r?.one_b !is () {
valueCount += 1;
}
if !(r?.one_c is ()) {
if r?.one_c !is () {
valueCount += 1;
}
if !(r?.one_d is ()) {
if r?.one_d !is () {
valueCount += 1;
}
if !(r?.one_e is ()) {
if r?.one_e !is () {
valueCount += 1;
}
if !(r?.one_f is ()) {
if r?.one_f !is () {
valueCount += 1;
}
if !(r?.one_g is ()) {
if r?.one_g !is () {
valueCount += 1;
}
if !(r?.one_h is ()) {
if r?.one_h !is () {
valueCount += 1;
}
if !(r?.one_i is ()) {
if r?.one_i !is () {
valueCount += 1;
}
if !(r?.one_j is ()) {
if r?.one_j !is () {
valueCount += 1;
}
if !(r?.one_k is ()) {
if r?.one_k !is () {
valueCount += 1;
}
if (valueCount > 1) {
if valueCount > 1 {
return false;
}
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,9 @@ public class ParentMessageStream {

public isolated function next() returns record {|ParentMessage value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|ParentMessage value;|} nextRecord = {value: <ParentMessage>streamValue.value};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,9 +153,9 @@ public class AlbumStream {

public isolated function next() returns record {|Album value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|Album value;|} nextRecord = {value: <Album>streamValue.value};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -361,9 +361,9 @@ public class EmptyStream {

public isolated function next() returns record {|Empty value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|Empty value;|} nextRecord = {value: <Empty>streamValue.value};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,10 +161,10 @@ public type FieldRules record {|

isolated function isValidFieldrules(FieldRules r) returns boolean {
int typeCount = 0;
if !(r?.'enum is ()) {
if r?.'enum !is () {
typeCount += 1;
}
if (typeCount > 1) {
if typeCount > 1 {
return false;
}
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,9 @@ public class ParentMessageStream {

public isolated function next() returns record {|ParentMessage value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|ParentMessage value;|} nextRecord = {value: <ParentMessage>streamValue.value};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,9 +158,9 @@ public class ResMessageStream {

public isolated function next() returns record {|message:ResMessage value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|message:ResMessage value;|} nextRecord = {value: <message:ResMessage>streamValue.value};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,9 +158,9 @@ public class ResMessageStream {

public isolated function next() returns record {|message:ResMessage value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|message:ResMessage value;|} nextRecord = {value: <message:ResMessage>streamValue.value};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,9 @@ public class ResMessage2Stream {

public isolated function next() returns record {|message2:ResMessage2 value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|message2:ResMessage2 value;|} nextRecord = {value: <message2:ResMessage2>streamValue.value};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,9 @@ public class ResMessage2Stream {

public isolated function next() returns record {|message2:ResMessage2 value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|message2:ResMessage2 value;|} nextRecord = {value: <message2:ResMessage2>streamValue.value};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,9 @@ public class ResMessageStream {

public isolated function next() returns record {|ResMessage value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|ResMessage value;|} nextRecord = {value: <ResMessage>streamValue.value};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,9 @@ public class ResMessageStream {

public isolated function next() returns record {|message2:ResMessage value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|message2:ResMessage value;|} nextRecord = {value: <message2:ResMessage>streamValue.value};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,9 @@ public class ResMessageStream {

public isolated function next() returns record {|message2:ResMessage value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|message2:ResMessage value;|} nextRecord = {value: <message2:ResMessage>streamValue.value};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,9 +137,9 @@ public class MessageStream {

public isolated function next() returns record {|Message value;|}|grpc:Error? {
var streamValue = self.anydataStream.next();
if (streamValue is ()) {
if streamValue is () {
return streamValue;
} else if (streamValue is grpc:Error) {
} else if streamValue is grpc:Error {
return streamValue;
} else {
record {|Message value;|} nextRecord = {value: <Message>streamValue.value};
Expand Down
Loading

0 comments on commit ffbf33d

Please sign in to comment.