Skip to content

Commit 7d39daf

Browse files
committed
improve reduce type signature
1 parent b3bd03a commit 7d39daf

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/main/java/graphql/analysis/MaximumQueryDepthInstrumentation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public InstrumentationContext<List<ValidationError>> beginValidation(Instrumenta
3232
getOperationResult.fragmentsByName,
3333
parameters.getVariables()
3434
);
35-
int depth = (int) queryTraversal.reducePreOrder((env, acc) -> Math.max(getPathLength(env.getPath()), (Integer) acc), 0);
35+
int depth = queryTraversal.reducePreOrder((env, acc) -> Math.max(getPathLength(env.getPath()), acc), 0);
3636
if (depth > maxDepth) {
3737
throw new AbortExecutionException("maximum query depth exceeded " + depth + " > " + maxDepth);
3838
}

src/main/java/graphql/analysis/QueryTraversal.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,18 @@ public void visitPreOrder(QueryVisitor visitor) {
5151
visitImpl(visitor, operationDefinition.getSelectionSet(), schema.getQueryType(), null, true);
5252
}
5353

54-
public Object reducePostOrder(QueryReducer queryReducer, Object initialValue) {
54+
public <T> T reducePostOrder(QueryReducer<T> queryReducer, T initialValue) {
5555
// compiler hack to make acc final and mutable :-)
5656
final Object[] acc = {initialValue};
57-
visitPostOrder((env) -> acc[0] = queryReducer.reduceField(env, acc[0]));
58-
return acc[0];
57+
visitPostOrder((env) -> acc[0] = queryReducer.reduceField(env, (T) acc[0]));
58+
return (T) acc[0];
5959
}
6060

61-
public Object reducePreOrder(QueryReducer queryReducer, Object initialValue) {
61+
public <T> T reducePreOrder(QueryReducer<T> queryReducer, T initialValue) {
6262
// compiler hack to make acc final and mutable :-)
6363
final Object[] acc = {initialValue};
64-
visitPreOrder((env) -> acc[0] = queryReducer.reduceField(env, acc[0]));
65-
return acc[0];
64+
visitPreOrder((env) -> acc[0] = queryReducer.reduceField(env, (T) acc[0]));
65+
return (T) acc[0];
6666
}
6767

6868

0 commit comments

Comments
 (0)