15460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===- InputFactory.cpp ---------------------------------------------------===// 25460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 35460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// The MCLinker Project 45460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 55460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// This file is distributed under the University of Illinois Open Source 65460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// License. See LICENSE.TXT for details. 75460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 85460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===----------------------------------------------------------------------===// 95460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include "mcld/MC/InputFactory.h" 105460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include "mcld/MC/AttributeFactory.h" 115460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 125460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaousing namespace mcld; 135460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 145460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===----------------------------------------------------------------------===// 155460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// InputFactory 165460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoInputFactory::InputFactory(size_t pNum, AttributeFactory& pAttrFactory) 175460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao : GCFactory<Input,0>(pNum), m_AttrFactory(pAttrFactory) { 185460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 195460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 205460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoInputFactory::~InputFactory() 215460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 225460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 235460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 245460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoInput* InputFactory::produce(llvm::StringRef pName, 255460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao const sys::fs::Path& pPath, 265460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao unsigned int pType, 275460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao off_t pFileOffset) 285460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 295460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao mcld::Input* result = Alloc::allocate(); 305460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao new (result) mcld::Input(pName, pPath, m_AttrFactory.last(), pType, pFileOffset); 315460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao return result; 325460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 335460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 34