Esempio n. 1
0
 public override AstNode Visit(SizeOfExpression node)
 {
     IChelaType type = node.GetCoercionType();
     IChelaType nodeType = node.GetNodeType();
     if(nodeType.IsConstant())
     {
         return (new ConstantValue((int)type.GetSize())).ToAstNode(node.GetPosition());
     }
     return node;
 }
Esempio n. 2
0
        public override AstNode Visit(SizeOfExpression node)
        {
            // Begin the node.
            builder.BeginNode(node);

            // Perform operation.
            builder.CreateSizeOf(node.GetCoercionType());

            // Cast into integer.
            builder.CreateCast(ChelaType.GetIntType());

            // Finish.
            return builder.EndNode();
        }