// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
namespace WixToolset.Extensibility
{
using WixToolset.Data;
#if BRING_BACK_LATER
///
/// Base class for creating a decompiler extension.
///
public abstract class DecompilerExtension : IDecompilerExtension
{
///
/// Gets or sets the decompiler core for the extension.
///
/// The decompiler core for the extension.
public IDecompilerCore Core { get; set; }
///
/// Gets the table definitions this extension decompiles.
///
/// Table definitions this extension decompiles.
public virtual TableDefinitionCollection TableDefinitions { get; protected set; }
///
/// Gets the library that this decompiler wants removed from the decomipiled output.
///
/// The table definitions to use while loading the library.
/// The library for this extension or null if there is no library to be removed.
public virtual Library GetLibraryToRemove(TableDefinitionCollection tableDefinitions)
{
return null;
}
///
/// Called at the beginning of the decompilation of a database.
///
/// The collection of all tables.
public virtual void Initialize(TableIndexedCollection tables)
{
}
///
/// Decompiles an extension table.
///
/// The table to decompile.
public virtual void DecompileTable(Table table)
{
this.Core.UnexpectedTable(table);
}
///
/// Finalize decompilation.
///
/// The collection of all tables.
public virtual void Finish(TableIndexedCollection tables)
{
}
}
#endif
}