aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/Receiver.java
blob: 1afb9b72cf3d33adc2583a7f40cf5894441e08cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
package org.zwobble.couscous.ast;

import org.zwobble.couscous.ast.visitors.NodeTransformer;

public interface Receiver extends Node {
    <T> T accept(Mapper<T> mapper);
    Receiver transform(NodeTransformer transformer);

    interface Mapper<T> {
        T visit(ExpressionNode receiver);
        T visit(TypeName receiver);
    }
}