1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package org.objectweb.fractal.cecilia.adl.idl;
25
26 import static org.objectweb.fractal.adl.NodeUtil.castNodeError;
27
28 import org.objectweb.fractal.cecilia.adl.idl.ast.Field;
29 import org.objectweb.fractal.cecilia.adl.idl.ast.FieldContainer;
30 import org.objectweb.fractal.cecilia.adl.idl.ast.IDLDefinition;
31 import org.objectweb.fractal.cecilia.adl.idl.ast.InterfaceDefinition;
32 import org.objectweb.fractal.cecilia.adl.idl.ast.Method;
33 import org.objectweb.fractal.cecilia.adl.idl.ast.MethodContainer;
34
35
36
37
38 public abstract class AbstractInterfaceVisitor implements InterfaceVisitor {
39
40 public void visit(final IDLDefinition idlDefinition) throws Exception {
41 final InterfaceDefinition itf = castNodeError(idlDefinition,
42 InterfaceDefinition.class);
43
44 enterInterface(itf);
45
46 if (itf instanceof FieldContainer) {
47 for (final Field field : ((FieldContainer) itf).getFields())
48 visitField(field);
49 }
50
51 if (itf instanceof MethodContainer) {
52 for (final Method method : ((MethodContainer) itf).getMethods())
53 visitMethod(method);
54 }
55
56 leaveInterface(itf);
57 }
58
59 }