mirror of https://github.com/mono/CppSharp.git
c-sharpdotnetmonobindingsbridgecclangcpluspluscppsharpglueinteropparserparsingpinvokeswigsyntax-treevisitorsxamarinxamarin-bindings
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.3 KiB
60 lines
1.3 KiB
namespace CppSharp |
|
{ |
|
/// <summary> |
|
/// Base class that describes a preprocessed entity, which may |
|
/// be a preprocessor directive or macro expansion. |
|
/// </summary> |
|
public abstract class PreprocessedEntity : Declaration |
|
{ |
|
|
|
} |
|
|
|
/// <summary> |
|
/// Represents a C preprocessor macro expansion. |
|
/// </summary> |
|
public class MacroExpansion : PreprocessedEntity |
|
{ |
|
// Contains the macro expansion text. |
|
public string Text; |
|
|
|
public MacroDefinition Definition; |
|
|
|
public MacroExpansion() |
|
{ |
|
} |
|
|
|
public override T Visit<T>(IDeclVisitor<T> visitor) |
|
{ |
|
//return visitor.VisitMacroExpansion(this); |
|
return default(T); |
|
} |
|
|
|
public override string ToString() |
|
{ |
|
return Text; |
|
} |
|
} |
|
|
|
/// <summary> |
|
/// Represents a C preprocessor macro definition. |
|
/// </summary> |
|
public class MacroDefinition : PreprocessedEntity |
|
{ |
|
// Contains the macro definition text. |
|
public string Expression; |
|
|
|
public MacroDefinition() |
|
{ |
|
} |
|
|
|
public override T Visit<T>(IDeclVisitor<T> visitor) |
|
{ |
|
return visitor.VisitMacroDefinition(this); |
|
} |
|
|
|
public override string ToString() |
|
{ |
|
return Expression; |
|
} |
|
} |
|
}
|
|
|