Skip to content

SageInterface::replaceFunctionDefinitionWithDeclaration

Replace an exact defining function declaration with a legal declaration source surface. Free functions and member definitions written in their class are replaced by a newly built prototype. A member definition written outside its semantic class scope is replaced by SgEmptyDeclaration because a namespace‐scope qualified member prototype is ill‐formed C++. The removed definition remains semantically owned by its scope's SgAuxiliaryDeclarationList and its complete declaration family and symbol are preserved. Malformed or unsupported inputs are hard errors; this function never returns null.

Synopsis

Declared in <SageIII/sageInterface/sageInterface.h>

[[visibility]]
SgDeclarationStatement*
replaceFunctionDefinitionWithDeclaration(
    SgFunctionDeclaration* functionDefinition,
    bool movePreprocessingInfo = true);

Return Value

This class represents the concept of a declaration statement.

Parameters

Name

Description

functionDefinition

This class represents the concept of a function declaration statement.

Created with MrDocs