protected VccMapTypeExpressions(BlockStatement containingBlock, VccMapTypeExpressions template) : base(containingBlock, template) { }
private ITypeDefinition CreateTypeForLambda() { var localDeclStmts = new List<LocalDeclarationsStatement>(this.BoundVariables); localDeclStmts.Reverse(); TypeExpression texpr = TypeExpression.For(this.lambdaExpr.Type); foreach (var localDeclStmt in localDeclStmts) { #pragma warning disable 168 foreach (var dummy in localDeclStmt.Declarations) // we care only about the number of variables of this type #pragma warning restore 168 targetType = texpr; // keep track of the previous type because it is required for texpr = new VccMapTypeExpressions(localDeclStmt.TypeExpression, texpr, this.NameTable, SourceDummy.SourceLocation); } texpr = (TypeExpression)texpr.MakeCopyFor(this.ContainingBlock); return texpr.ResolvedType; }