public override object VisitLocalVariableDeclaration(LocalVariableDeclaration localVariableDeclaration, object data)
		{
			for (int i = 0; i < localVariableDeclaration.Variables.Count; ++i) {
				VariableDeclaration varDecl = (VariableDeclaration)localVariableDeclaration.Variables[i];
				
				AddVariable(localVariableDeclaration.GetTypeForVariable(i),
				            varDecl.Name,
				            localVariableDeclaration.StartLocation,
				            CurrentEndLocation,
				            (localVariableDeclaration.Modifier & Modifiers.Const) == Modifiers.Const,
				            false, varDecl.Initializer, null, false, localVariableDeclaration.SemicolonPosition);
			}
			return base.VisitLocalVariableDeclaration(localVariableDeclaration, data);
		}
예제 #2
0
        public override object VisitLocalVariableDeclaration(LocalVariableDeclaration localVariableDeclaration, object data)
        {
            CodeVariableDeclarationStatement declStmt = null;

            for (int i = 0; i < localVariableDeclaration.Variables.Count; ++i) {
                CodeTypeReference type = ConvType(localVariableDeclaration.GetTypeForVariable(i) ?? new TypeReference("object"));
                VariableDeclaration var = (VariableDeclaration)localVariableDeclaration.Variables[i];
                if (!var.Initializer.IsNull) {
                    declStmt = new CodeVariableDeclarationStatement(type,
                                                                    var.Name,
                                                                    (CodeExpression)((INode)var.Initializer).AcceptVisitor(this, data));
                } else {
                    declStmt = new CodeVariableDeclarationStatement(type,
                                                                    var.Name);
                }
                variables.Add(declStmt);
                AddStmt(declStmt);
            }

            return declStmt;
        }
		public override object VisitLocalVariableDeclaration(LocalVariableDeclaration localVariableDeclaration, object data)
		{
			for (int i = 0; i < localVariableDeclaration.Variables.Count; i++) {
				VariableDeclaration decl = localVariableDeclaration.Variables[i];
				if (AddDefaultValueInitializerToLocalVariableDeclarations &&
				    (localVariableDeclaration.Modifier & Modifiers.Static) == 0 &&
				    decl.FixedArrayInitialization.IsNull && decl.Initializer.IsNull) {
					TypeReference type = localVariableDeclaration.GetTypeForVariable(i);
					decl.Initializer = ExpressionBuilder.CreateDefaultValueForType(type);
				}
				if (decl.TypeReference.IsNull) {
					if (OptionInfer && !(decl.Initializer is PrimitiveExpression && (decl.Initializer as PrimitiveExpression).Value == null))
						decl.TypeReference = new TypeReference("var", true);
					else if (OptionStrict)
						decl.TypeReference = new TypeReference("System.Object", true);
					else
						decl.TypeReference = new TypeReference("dynamic", true);
				}
			}
			return base.VisitLocalVariableDeclaration(localVariableDeclaration, data);
		}
 public override object VisitLocalVariableDeclaration(LocalVariableDeclaration localVariableDeclaration, object data)
 {
     if (AddDefaultValueInitializerToLocalVariableDeclarations) {
         for (int i = 0; i < localVariableDeclaration.Variables.Count; i++) {
             VariableDeclaration decl = localVariableDeclaration.Variables[i];
             if (decl.FixedArrayInitialization.IsNull && decl.Initializer.IsNull) {
                 TypeReference type = localVariableDeclaration.GetTypeForVariable(i);
                 decl.Initializer = ExpressionBuilder.CreateDefaultValueForType(type);
             }
         }
     }
     return base.VisitLocalVariableDeclaration(localVariableDeclaration, data);
 }
		public object VisitLocalVariableDeclaration(LocalVariableDeclaration lvd, object data)
		{
			ArrayList list = new ArrayList();
			for (int i = 0; i < lvd.Variables.Count; i++) {
				B.DeclarationStatement varDecl = new B.DeclarationStatement(GetLexicalInfo(lvd));
				varDecl.Declaration = new B.Declaration(GetLexicalInfo(lvd.Variables[i]), lvd.Variables[i].Name, ConvertTypeReference(lvd.GetTypeForVariable(i)));
				varDecl.Initializer = ConvertExpression(lvd.Variables[i].Initializer);
				list.Add(varDecl);
			}
			return list;
		}