public void Visit(TunMethodCall tunMethodCall)
 {
     tunMethodCall.Id.Accept(this);
     tunMethodCall.TunMethod.Accept(this);
 }
Example #2
0
 public DotClient(Id clientId, TunMethodCall tunMethodCall)
 {
     ClientId = clientId;
     TunMethodCall = tunMethodCall;
 }
 public void Visit(TunMethodCall tunMethodCall)
 {
     if (_visitingServer)
     {
         _sb.Append("remoteTunnelMethod('");
         tunMethodCall.Id.Accept(this);
         _sb.Append("', '");
         tunMethodCall.TunMethod.Accept(this);
         _sb.Append("')");
     }
     else
     {
         _sb.Append("self.tunnels['");
         tunMethodCall.Id.Accept(this);
         _sb.Append("'].");
         tunMethodCall.TunMethod.Accept(this);
         //.Append("()\n");
     }
 }
 public void Visit(TunMethodCall tunMethodCall)
 {
     tunMethodCall.TunMethod.Accept(this);
     if (tunMethodCall.TunMethod.GetType() == typeof (Put))
     {
         if (_env.FakeEnvForTunnel)
             throw new TypeCheckingException(
                 "Tunnels are mono-directional: you can't use the put(...) method within server");
         tunMethodCall.SmclType = tunMethodCall.TunMethod.SmclType;
     }
     else
         tunMethodCall.SmclType =
             tunMethodCall.TunMethod.SmclType = _env.VisitPartEnv.Tunnels[tunMethodCall.Id.Name];
     ((PartEnvClient)_env.VisitPartEnv).CheckTunnelMethod(tunMethodCall.Id.Name, tunMethodCall.TunMethod.SmclType);
 }