当前位置: 首页>>代码示例>>C#>>正文


C# TypeNode.GetNumRows方法代码示例

本文整理汇总了C#中TypeNode.GetNumRows方法的典型用法代码示例。如果您正苦于以下问题:C# TypeNode.GetNumRows方法的具体用法?C# TypeNode.GetNumRows怎么用?C# TypeNode.GetNumRows使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TypeNode的用法示例。


在下文中一共展示了TypeNode.GetNumRows方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Visit

        public override AstNode Visit(TypeNode node)
        {
            // Evaluate the type.
            IChelaType nodeType = null;
            switch(node.GetKind())
            {
            case TypeKind.Void:
                nodeType = ChelaType.GetVoidType();
                break;
            case TypeKind.Bool:
                nodeType = ChelaType.GetBoolType();
                break;
            case TypeKind.Byte:
                nodeType = ChelaType.GetByteType();
                break;
            case TypeKind.SByte:
                nodeType = ChelaType.GetSByteType();
                break;
            case TypeKind.Char:
                nodeType = ChelaType.GetCharType();
                break;
            case TypeKind.Double:
                nodeType = ChelaType.GetDoubleType();
                break;
            case TypeKind.Float:
                nodeType = ChelaType.GetFloatType();
                break;
            case TypeKind.Int:
                nodeType = ChelaType.GetIntType();
                break;
            case TypeKind.UInt:
                nodeType = ChelaType.GetUIntType();
                break;
            case TypeKind.Long:
                nodeType = ChelaType.GetLongType();
                break;
            case TypeKind.ULong:
                nodeType = ChelaType.GetULongType();
                break;
            case TypeKind.Short:
                nodeType = ChelaType.GetShortType();
                break;
            case TypeKind.UShort:
                nodeType = ChelaType.GetUShortType();
                break;
            case TypeKind.String:
                nodeType = ChelaType.GetStringType();
                break;
            case TypeKind.Object:
                nodeType = ChelaType.GetObjectType();
                break;
            case TypeKind.Size:
                nodeType = ChelaType.GetSizeType();
                break;
            case TypeKind.PtrDiff:
                nodeType = ChelaType.GetPtrDiffType();
                break;
            case TypeKind.Other:
                nodeType = node.GetOtherType();
                break;
            case TypeKind.Reference:
                nodeType = ReferenceType.Create(currentModule.TypeMap(node.GetOtherType()));
                break;
            default:
                throw new System.NotSupportedException();
            }

            // Vectorial type check.
            if(node.GetNumComponents() > 1)
            {
                if(!nodeType.IsPrimitive())
                    Error(node, "invalid vectorial type.");
                nodeType = VectorType.Create(nodeType, node.GetNumComponents());
            }
            else if(node.GetNumRows() > 1 || node.GetNumColumns() > 1)
            {
                if(!nodeType.IsPrimitive())
                    Error(node, "invalid matrix type.");
                nodeType = MatrixType.Create(nodeType, node.GetNumRows(), node.GetNumColumns());
            }

            // Set the node type.
            node.SetNodeType(MetaType.Create(currentModule.TypeMap(nodeType)));

            return node;
        }
开发者ID:ronsaldo,项目名称:chela,代码行数:86,代码来源:ObjectDeclarator.cs


注:本文中的TypeNode.GetNumRows方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。