Пример #1
0
        public override void OnArrayLiteralExpression(ArrayLiteralExpression node)
        {
            BooResolver resolver   = new BooResolver();
            IReturnType createType = resolver.GetTypeOfExpression(node, null);

            if (createType == null)
            {
                createType = pc.SystemTypes.Object;
            }
            CodeExpression[] initializers = new CodeExpression[node.Items.Count];
            for (int i = 0; i < initializers.Length; i++)
            {
                _expression = null;
                node.Items[i].Accept(this);
                initializers[i] = _expression;
            }
            _expression = new CodeArrayCreateExpression(createType.FullyQualifiedName, initializers);
            _expression.UserData["unknownType"] = node.Type != null;
        }