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
Modifier and Type
Field
Description
`static final int`
`r_declaration`
Role of name in this context is a declaration.
`static final int`
`r_definition`
Role of name in this construct is a definition.
`static final int`
`r_reference`
Role of name in this construct is a reference.
`static final int`
`r_unclear`
Role is unclear.

## Method Summary

Modifier and Type
Method
Description
`int`
`getRoleForName(IASTName name)`
Get the role for the name.

## Field Details

### 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 Details

### 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.