예제 #1
0
        public static PreprocessedEntity GetRealPreprocessedEntityInternal(this CppSharp.Parser.AST.PreprocessedEntity entity, Declaration owningDeclaration)
        {
            var realDeclaration = entity.GetRealPreprocessedEntity();

            switch (entity.Kind)
            {
            case CppSharp.Parser.AST.DeclarationKind.MacroDefinition:
                return(new MacroDefinition(owningDeclaration, (CppSharp.Parser.AST.MacroDefinition)realDeclaration));

            case CppSharp.Parser.AST.DeclarationKind.MacroExpansion:
                return(new MacroExpansion(owningDeclaration, (CppSharp.Parser.AST.MacroExpansion)realDeclaration));

            default:
                Debugger.Break();
                return(null);
            }
        }
예제 #2
0
 public unsafe PreprocessedEntity(Declaration owningDeclaration, CppSharp.Parser.AST.PreprocessedEntity preprocessedEntity)
 {
     this.OwningDeclaration  = owningDeclaration;
     this.preprocessedEntity = preprocessedEntity;
     this.preprocessedEntity.AssertNotNull();
 }