blob: 96a7a77ff40ecfee9b2800513dc77bbe044b616b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.indexinglanguage;
import com.yahoo.vespa.indexinglanguage.expressions.Expression;
/**
* @author Simon Thoresen Hult
*/
public abstract class ExpressionVisitor {
private final MyConverter converter = new MyConverter();
public void visit(Expression exp) {
converter.convert(exp);
}
protected abstract void doVisit(Expression exp);
private class MyConverter extends ExpressionConverter {
@Override
protected boolean shouldConvert(Expression exp) {
doVisit(exp);
return false;
}
@Override
protected Expression doConvert(Expression exp) {
throw new AssertionError();
}
}
}
|