public override void Visit(ExpressionNode node) { SymbolTable.SetCurrentNode(node); foreach (var Exp in node.ExpressionParts) { Exp.Accept(this); } HandleExpressionTypes(node); }
private void GenerateAssert(Exp test) { gen.SideEffect( gen.Appl( gen.MethodRef( gen.TypeRefExpr("Debug"), "Assert"), test.Accept(xlat))); gen.EnsureImport("System.Diagnostics"); }
private void GenerateAssert(Exp test) { gen.SideEffect( gen.Appl( new CodeMethodReferenceExpression( new CodeTypeReferenceExpression("Debug"), "Assert"), test.Accept(xlat))); gen.EnsureImport("System.Diagnostics"); }
private CodeExpression TranslateFormatExpression(Exp formatString, Exp pyArgs) { var args = new List <CodeExpression>(); args.Add(formatString.Accept(this)); if (pyArgs is PyTuple tuple) { args.AddRange(tuple.values .Select(e => e.Accept(this))); } else { args.Add(pyArgs.Accept(this)); } m.EnsureImport("System"); return(m.Appl( m.MethodRef( m.TypeRefExpr("String"), "Format"), args.ToArray())); }
private CodeExpression TranslateFormatExpression(Exp formatString, Exp pyArgs) { var args = new List <CodeExpression>(); args.Add(formatString.Accept(this)); var tuple = pyArgs as PyTuple; if (tuple != null) { args.AddRange(tuple.values .Select(e => e.Accept(this))); } else { args.Add(pyArgs.Accept(this)); } m.EnsureImport("System"); return(m.Appl( new CodeMethodReferenceExpression( new CodeTypeReferenceExpression("String"), "Format"), args.ToArray())); }
public static DataType TransformExp(Analyzer analyzer, Exp n, State s) { return(n.Accept(new TypeTransformer(s, analyzer))); }
public static DataType transformExpr(Analyzer analyzer, Exp n, State s) { return n.Accept(new TypeTransformer(s, analyzer)); }