view runtime/blueprint.c @ 163:9fab36cc706b

Add Raw Size method to blueprint to allow code to query the raw size of a type in bytes
author Mike Pavone <pavone@retrodev.com>
date Sun, 09 Jan 2011 23:03:30 -0500
parents 43cc42df26cc
children
line wrap: on
line source

#include "blueprint.h"
#include "builtin.h"
#include "context.h"
#include <stddef.h>

typedef struct
{
	blueprint * bp;
} l_Build;

object * make_Blueprint(int32_t type_id)
{
	t_Blueprint * obj;
	object * ret = new_object(TYPE_BLUEPRINT);
	obj = (t_Blueprint *)ret;
	obj->bp = type_id ? get_blueprint_byid(type_id) : NULL;
	return ret;
}

int32_t _internal_blueprint_eq(object * left, object * right)
{
	t_Blueprint * l = (t_Blueprint *)left;
	t_Blueprint * r = (t_Blueprint *)right;
	release_ref(left);
	release_ref(right);
	return l->bp == r->bp;
}

int32_t _internal_blueprint_rawsize(object * bp)
{
	int32_t ret;
	t_Blueprint * bprint = (t_Blueprint *)bp;
	ret = bprint->bp->size;
	release_ref(bp);
	return ret;
}