namespace CppSharp
{
///
/// Base class that describes a preprocessed entity, which may
/// be a preprocessor directive or macro expansion.
///
public abstract class PreprocessedEntity : Declaration
{
}
///
/// Represents a C preprocessor macro expansion.
///
public class MacroExpansion : PreprocessedEntity
{
// Contains the macro expansion text.
public string Text;
public MacroDefinition Definition;
public MacroExpansion()
{
}
public override T Visit(IDeclVisitor visitor)
{
//return visitor.VisitMacroExpansion(this);
return default(T);
}
public override string ToString()
{
return Text;
}
}
///
/// Represents a C preprocessor macro definition.
///
public class MacroDefinition : PreprocessedEntity
{
// Contains the macro definition text.
public string Expression;
public MacroDefinition()
{
}
public override T Visit(IDeclVisitor visitor)
{
return visitor.VisitMacroDefinition(this);
}
public override string ToString()
{
return Expression;
}
}
}