public void Emit(TokenTextWriter stream) { Contract.Requires(stream != null); stream.SetToken(this); Contract.Assert(this.Tr.Count >= 1); string /*!*/ sep = Pos ? "{ " : "{:nopats "; foreach (Expr /*!*/ e in this.Tr) { Contract.Assert(e != null); stream.Write(sep); sep = ", "; e.Emit(stream); } stream.Write(" }"); }
public static bool Write(int level, string msg, params object[] args) { if (level == Log.Normal) { Write(Log.Debug, msg, args); } switch (level) { case Debug: if (!noDebuggingOutput) { init(); debugOut.Write(msg, args); } break; case Warning: Console.Write("Warning: " + msg, args); break; case Error: Console.Write("Error: " + msg, args); break; case Normal: Console.Write(msg, args); break; } return(false); }
public void Emit(TokenTextWriter stream) { Contract.Requires(stream != null); stream.Write("{:"); stream.Write(Key); string sep = " "; foreach (object p in Params) { stream.Write(sep); sep = ", "; if (p is string) { stream.Write("\""); stream.Write((string)p); stream.Write("\""); } else { ((Expr)p).Emit(stream); } } stream.Write("}"); }
protected override void EmitTriggers(TokenTextWriter stream) { //Contract.Requires(stream != null); for (Trigger tr = this.Triggers; tr != null; tr = tr.Next) { tr.Emit(stream); stream.Write(" "); } }
public override void Emit(TokenTextWriter stream, int contextBindingStrength, bool fragileContext) { //Contract.Requires(stream != null); stream.Write(this, "({0}", Kind.ToString().ToLower()); this.EmitTypeHint(stream); Type.EmitOptionalTypeParams(stream, TypeParameters); stream.Write(this, " "); this.Dummies.Emit(stream, true); stream.Write(" :: "); for (QKeyValue kv = this.Attributes; kv != null; kv = kv.Next) { kv.Emit(stream); stream.Write(" "); } this.EmitTriggers(stream); this.Body.Emit(stream); stream.Write(")"); }
public override void Emit(TokenTextWriter stream, int contextBindingStrength, bool fragileContext) { //Contract.Requires(stream != null); stream.push(); stream.Write(this, "(var "); string sep = ""; stream.push(); foreach (var v in Dummies) { stream.Write("{0}", sep); v.EmitVitals(stream, 0, true, false); sep = ", "; stream.sep(); } stream.pop(); stream.Write(" := "); this.Rhss.Emit(stream); stream.Write("; "); stream.sep(); for (QKeyValue kv = this.Attributes; kv != null; kv = kv.Next) { kv.Emit(stream); stream.Write(" "); } stream.sep(); this.Body.Emit(stream); stream.Write(")"); stream.pop(); }