Method: RCSimCinterface.rcsim_make_block

Defined in:
ext/hruby_sim/hruby_rcsim_build.c

.rcsim_make_block(modeV) ⇒ Object

Creating a block C object.



662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
# File 'ext/hruby_sim/hruby_rcsim_build.c', line 662

VALUE rcsim_make_block(VALUE mod, VALUE modeV) {
    // printf("rcsim_make_block\n");
    /* Allocates the block. */
    Block block = (Block)malloc(sizeof(BlockS));
    // printf("block=%p\n",block);
    /* Set it up. */
    block->kind = BLOCK;
    block->owner = NULL;
    block->name = NULL;
    block->num_inners = 0;
    block->inners = NULL;
    block->num_stmnts = 0;
    block->stmnts = NULL;
    block->mode = SYM2ID(modeV) == id_PAR ? PAR : SEQ;
    /* Returns the C block embedded into a ruby VALUE. */
    VALUE res;
    rcsim_to_value(BlockS,block,res);
    return res;
}