예제 #1
0
 protected VccMapTypeExpressions(BlockStatement containingBlock, VccMapTypeExpressions template)
     : base(containingBlock, template)
 {
 }
예제 #2
0
        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;
        }