public void visit(final IDL idl, final Map<Object, Object> context)
throws ADLException {
Set<String> compiledIDLs = contextualCompiledIDLs.get(context);
if (compiledIDLs == null) {
compiledIDLs = new HashSet<String>();
contextualCompiledIDLs.set(context, compiledIDLs);
}
if (!compiledIDLs.add(idl.getName())) {
return;
}
clientVisitorItf.visit(idl, context);
if (idl instanceof IncludeContainer) {
for (final Include include : ((IncludeContainer) idl).getIncludes()) {
final IDL includedIDL = IncludeDecorationHelper.getIncludedIDL(include,
idlLoaderItf, context);
if (!(includedIDL instanceof Header)) {
visit(includedIDL, context);
}
}
}
for (final InterfaceDefinition itf : ReferencedInterfacesDecorationHelper
.getReferencedInterfaces(idl)) {
visit(itf, context);
}
}