// $Id: FunctionBlock.java,v 1.4 1999/05/20 09:32:03 m-hirano Exp $
// $RWC_Release: Omni-1.6 $
// $RWC_Copyright:
//  Omni Compiler Software Version 1.5-1.6
//  Copyright (C) 2002 PC Cluster Consortium
//  
//  This software is free software; you can redistribute it and/or modify
//  it under the terms of the GNU Lesser General Public License version
//  2.1 published by the Free Software Foundation.
//  
//  Omni Compiler Software Version 1.0-1.4
//  Copyright (C) 1999, 2000, 2001.
//   Tsukuba Research Center, Real World Computing Partnership, Japan.
//  
//  Please check the Copyright and License information in the files named
//  COPYRIGHT and LICENSE under the top  directory of the Omni Compiler
//  Software release kit.
//  
//  
//  $

package exc.block;

import exc.object.*;

public class FunctionBlock extends CompoundBlock {
    String func_name;
    XobjectFile env;

    public FunctionBlock(String name,Xobject id_list,
	Xobject decls,Block body_block, XobjectFile env){
	super(Xcode.FUNCTION_DEFINITION,new BlockList(id_list,decls));
	this.env = env;
	this.func_name = name;
	body.add(body_block);
    }

    public String getName() { return func_name; }
    public XobjectFile getFile() { return env; }

    public Xobject toXobject(){
	Xobject x =  new XobjList(Opcode(),Xcons.Symbol(Xcode.IDENT,func_name),
			    body.id_list,body.decls,body.head.toXobject());
	x.setLineNo(getLineNo());
	return x;
    }
}



