protected internal override CapnpUsing VisitUsing(CapnpUsing @using) { if (@using.Target is CapnpImport) { @using.Target = _ResolveImport((CapnpImport)@using.Target); if (@using.Target == null) throw new Exception("failed to resolve import"); // todo } return base.VisitUsing(@using); }
// This is OK, in case of using t = import "x" //private Boolean _mVisitingModule; //protected internal override CapnpModule VisitModule(CapnpModule module) //{ // if (_mVisitingModule) throw new InvalidOperationException("already visiting a module"); // _mVisitingModule = true; // var m = base.VisitModule(module); // _mVisitingModule = false; // return m; //} protected internal override CapnpUsing VisitUsing(CapnpUsing @using) { return base.VisitUsing(@using); }
protected internal virtual CapnpUsing VisitUsing(CapnpUsing @using) { @using.Target = Visit(@using.Target); return @using; }