Skip to content

Commit

Permalink
Simplify isVariableDeclaredSafely()
Browse files Browse the repository at this point in the history
  • Loading branch information
SachinAkash01 committed Feb 27, 2025
1 parent c79470a commit 2ec1e36
Showing 1 changed file with 17 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,9 @@ private boolean isSafePath(FunctionCallExpressionNode functionCall) {
return true;
}

if (argument instanceof BinaryExpressionNode binaryExpression) {
if (binaryExpression.operator().kind() == SyntaxKind.PLUS_TOKEN) {
return false;
}
if (argument instanceof BinaryExpressionNode binaryExpression &&
binaryExpression.operator().kind() == SyntaxKind.PLUS_TOKEN) {
return false;
}

if (argument instanceof SimpleNameReferenceNode variableRef) {
Expand All @@ -123,28 +122,16 @@ private boolean isVariableSafe(SimpleNameReferenceNode variableRef) {
private boolean isVariableDeclaredSafely(FunctionBodyBlockNode functionBody, String variableName,
SimpleNameReferenceNode variableRef) {
for (StatementNode statement : functionBody.statements()) {
if (!(statement instanceof VariableDeclarationNode varDecl)) {
continue;
}

if (!isMatchingVariable(varDecl, variableName)) {
continue;
}

ExpressionNode initializer = varDecl.initializer().orElse(null);
if (initializer == null) {
if (statement instanceof VariableDeclarationNode varDecl && isMatchingVariable(varDecl, variableName)) {
ExpressionNode initializer = varDecl.initializer().orElse(null);
if (initializer == null || isConcatenationAssignment(initializer)) {
return isFunctionParameter(variableRef);
}
if (initializer instanceof SimpleNameReferenceNode refNode) {
return isFunctionParameter(refNode);
}
return true;
}

if (isConcatenationAssignment(initializer)) {
return isFunctionParameter(variableRef);
}

if (initializer instanceof SimpleNameReferenceNode refNode) {
return isFunctionParameter(refNode);
}

return true;
}
return true;
}
Expand Down Expand Up @@ -219,15 +206,13 @@ private boolean isInitializerAssignedToFunctionParameter(ExpressionNode initiali

private boolean isIndirectFunctionParameterFromBinary(BinaryExpressionNode binaryExpr,
RequiredParameterNode reqParam) {
if (binaryExpr.lhsExpr() instanceof SimpleNameReferenceNode leftRef) {
if (leftRef.name().text().equals(reqParam.paramName().get().text())) {
return true;
}
if (binaryExpr.lhsExpr() instanceof SimpleNameReferenceNode leftRef &&
leftRef.name().text().equals(reqParam.paramName().get().text())) {
return true;
}
if (binaryExpr.rhsExpr() instanceof SimpleNameReferenceNode rightRef) {
if (rightRef.name().text().equals(reqParam.paramName().get().text())) {
return true;
}
if (binaryExpr.rhsExpr() instanceof SimpleNameReferenceNode rightRef &&
rightRef.name().text().equals(reqParam.paramName().get().text())) {
return true;
}
return false;
}
Expand Down

0 comments on commit 2ec1e36

Please sign in to comment.