Package org.eclipse.cdt.core.dom.ast

## Interface IASTNameOwner

All Known Subinterfaces:
  `IASTArrayDeclarator`, `IASTCompositeTypeSpecifier`, `IASTDeclarator`, `IASTElaboratedTypeSpecifier`, `IASTEnumerationSpecifier`, `IASTEnumerationSpecifier.IASTEnumerator`, `IASTFieldDeclarator`, `IASTFieldReference`, `IASTFunctionDeclarator`, `IASTGotoStatement`, `IASTIdExpression`, `IASTLabelStatement`, `IASTNamedTypeSpecifier`, `IASTPreprocessorFunctionStyleMacroDefinition`, `IASTPreprocessorMacroDefinition`, `IASTPreprocessorObjectStyleMacroDefinition`, `IASTStandardFunctionDeclarator`, `ICASTCompositeTypeSpecifier`, `ICASTElaboratedTypeSpecifier`, `ICASTEnumerationSpecifier`, `ICASTKnRFunctionDeclarator`, `ICASTTypedefNameSpecifier`, `ICPPASTAliasDeclaration`, `ICPPASTArrayDeclarator`, `ICPPASTCapture`, `ICPPASTCompositeTypeSpecifier`, `ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier`, `ICPPASTConstructorChainInitializer`, `ICPPASTDeclarator`, `ICPPASTElaboratedTypeSpecifier`, `ICPPASTEnumerationSpecifier`, `ICPPASTFieldDeclarator`, `ICPPASTFieldReference`, `ICPPASTFunctionDeclarator`, `ICPPASTFunctionTryBlockDeclarator`, `ICPPASTInitCapture`, `ICPPASTNamedTypeSpecifier`, `ICPPASTNamespaceAlias`, `ICPPASTNamespaceDefinition`, `ICPPASTPointerToMember`, `ICPPASTQualifiedName`, `ICPPASTSimpleTypeTemplateParameter`, `ICPPASTStructuredBindingDeclaration`, `ICPPASTTemplatedTypeTemplateParameter`, `ICPPASTTemplateId`, `ICPPASTTypenameExpression`, `ICPPASTUsingDeclaration`, `ICPPASTUsingDirective`, `IGNUASTGotoStatement`, `IGPPASTPointerToMember`

    public interface IASTNameOwner

This interface represents a mechanism for a name to discover more information about it's parent. All interfaces that claim ownership/residence of a name should extend this interface.

Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

### Field Summary

Fields
`static int` `r_declaration` Role of name in this context is a declaration.
`static int` `r_definition` Role of name in this construct is a definition.
`static int` `r_reference` Role of name in this construct is a reference.
`static int` `r_unclear` Role is unclear.

### Method Summary

All Methods Instance Methods Abstract Methods
`int` `getRoleForName​(IASTName name)` Get the role for the name.

### Field Detail

#### r_declaration

    static final int r_declaration

Role of name in this context is a declaration.

See Also:
  Constant Field Values

#### r_reference

    static final int r_reference

Role of name in this construct is a reference.

See Also:
  Constant Field Values

#### r_definition

    static final int r_definition

Role of name in this construct is a definition.

See Also:
  Constant Field Values

#### r_unclear

    static final int r_unclear

Role is unclear.

See Also:
  Constant Field Values

### Method Detail

#### getRoleForName

    int getRoleForName​(IASTName name)

Get the role for the name.

Parameters:
  `name` - the name to determine the role for.
Returns:
  r_definition, r_declaration, r_reference or r_unclear.