diff --git a/src/main/java/com/aerospike/dsl/visitor/ExpressionConditionVisitor.java b/src/main/java/com/aerospike/dsl/visitor/ExpressionConditionVisitor.java index 9dde00a..db8d318 100644 --- a/src/main/java/com/aerospike/dsl/visitor/ExpressionConditionVisitor.java +++ b/src/main/java/com/aerospike/dsl/visitor/ExpressionConditionVisitor.java @@ -776,12 +776,15 @@ public AbstractPart visitIntLogicalRShiftExpression(ConditionParser.IntLogicalRS public AbstractPart visitPathFunctionGet(ConditionParser.PathFunctionGetContext ctx) { PathFunction.ReturnParam returnParam = null; Exp.Type binType = null; - for (ConditionParser.PathFunctionParamContext paramCtx : ctx.pathFunctionParams().pathFunctionParam()) { - if (paramCtx != null) { - String typeVal = getPathFunctionParam(paramCtx, "type"); - if (typeVal != null) binType = Exp.Type.valueOf(typeVal); - String returnVal = getPathFunctionParam(paramCtx, "return"); - if (returnVal != null) returnParam = PathFunction.ReturnParam.valueOf(returnVal); + ConditionParser.PathFunctionParamsContext params = ctx.pathFunctionParams(); + if (params != null) { + for (ConditionParser.PathFunctionParamContext paramCtx : params.pathFunctionParam()) { + if (paramCtx != null) { + String typeVal = getPathFunctionParam(paramCtx, "type"); + if (typeVal != null) binType = Exp.Type.valueOf(typeVal); + String returnVal = getPathFunctionParam(paramCtx, "return"); + if (returnVal != null) returnParam = PathFunction.ReturnParam.valueOf(returnVal); + } } } return new PathFunction(PathFunction.PathFunctionType.GET, returnParam, binType); diff --git a/src/test/java/com/aerospike/dsl/expression/BinExpressionsTests.java b/src/test/java/com/aerospike/dsl/expression/BinExpressionsTests.java index fd5e8f2..ed2b604 100644 --- a/src/test/java/com/aerospike/dsl/expression/BinExpressionsTests.java +++ b/src/test/java/com/aerospike/dsl/expression/BinExpressionsTests.java @@ -60,6 +60,7 @@ void binNotEquals() { parseFilterExpressionAndCompare(ExpressionContext.of("$.intBin1 != 100"), Exp.ne(Exp.intBin("intBin1"), Exp.val(100))); parseFilterExpressionAndCompare(ExpressionContext.of("$.strBin != \"yes\""), Exp.ne(Exp.stringBin("strBin"), Exp.val("yes"))); parseFilterExpressionAndCompare(ExpressionContext.of("$.strBin != 'yes'"), Exp.ne(Exp.stringBin("strBin"), Exp.val("yes"))); + parseFilterExpressionAndCompare(ExpressionContext.of("$.intBin1.get() != 100"), Exp.ne(Exp.intBin("intBin1"), Exp.val(100))); } @Test