clang API Documentation

Public Types | Public Member Functions
clang::CodeCompletionContext Class Reference

The context in which code completion occurred, so that the code-completion consumer can process the results accordingly. More...

#include <CodeCompleteConsumer.h>

List of all members.

Public Types

enum  Kind {
  CCC_Other, CCC_OtherWithMacros, CCC_TopLevel, CCC_ObjCInterface,
  CCC_ObjCImplementation, CCC_ObjCIvarList, CCC_ClassStructUnion, CCC_Statement,
  CCC_Expression, CCC_ObjCMessageReceiver, CCC_DotMemberAccess, CCC_ArrowMemberAccess,
  CCC_ObjCPropertyAccess, CCC_EnumTag, CCC_UnionTag, CCC_ClassOrStructTag,
  CCC_ObjCProtocolName, CCC_Namespace, CCC_Type, CCC_Name,
  CCC_PotentiallyQualifiedName, CCC_MacroName, CCC_MacroNameUse, CCC_PreprocessorExpression,
  CCC_PreprocessorDirective, CCC_NaturalLanguage, CCC_SelectorName, CCC_TypeQualifiers,
  CCC_ParenthesizedExpression, CCC_ObjCInstanceMessage, CCC_ObjCClassMessage, CCC_ObjCInterfaceName,
  CCC_ObjCCategoryName, CCC_Recovery
}

Public Member Functions

 CodeCompletionContext (enum Kind Kind)
 Construct a new code-completion context of the given kind.
 CodeCompletionContext (enum Kind Kind, QualType T, ArrayRef< IdentifierInfo * > SelIdents=None)
 Construct a new code-completion context of the given kind.
enum Kind getKind () const
 Retrieve the kind of code-completion context.
QualType getPreferredType () const
 Retrieve the type that this expression would prefer to have, e.g., if the expression is a variable initializer or a function argument, the type of the corresponding variable or function parameter.
QualType getBaseType () const
 Retrieve the type of the base object in a member-access expression.
ArrayRef< IdentifierInfo * > getSelIdents () const
 Retrieve the Objective-C selector identifiers.
bool wantConstructorResults () const
 Determines whether we want C++ constructors as results within this context.

Detailed Description

The context in which code completion occurred, so that the code-completion consumer can process the results accordingly.

Definition at line 153 of file CodeCompleteConsumer.h.


Member Enumeration Documentation

Enumerator:
CCC_Other 

An unspecified code-completion context.

CCC_OtherWithMacros 

An unspecified code-completion context where we should also add macro completions.

CCC_TopLevel 

Code completion occurred within a "top-level" completion context, e.g., at namespace or global scope.

CCC_ObjCInterface 

Code completion occurred within an Objective-C interface, protocol, or category interface.

CCC_ObjCImplementation 

Code completion occurred within an Objective-C implementation or category implementation.

CCC_ObjCIvarList 

Code completion occurred within the instance variable list of an Objective-C interface, implementation, or category implementation.

CCC_ClassStructUnion 

Code completion occurred within a class, struct, or union.

CCC_Statement 

Code completion occurred where a statement (or declaration) is expected in a function, method, or block.

CCC_Expression 

Code completion occurred where an expression is expected.

CCC_ObjCMessageReceiver 

Code completion occurred where an Objective-C message receiver is expected.

CCC_DotMemberAccess 

Code completion occurred on the right-hand side of a member access expression using the dot operator.

The results of this completion are the members of the type being accessed. The type itself is available via CodeCompletionContext::getType().

CCC_ArrowMemberAccess 

Code completion occurred on the right-hand side of a member access expression using the arrow operator.

The results of this completion are the members of the type being accessed. The type itself is available via CodeCompletionContext::getType().

CCC_ObjCPropertyAccess 

Code completion occurred on the right-hand side of an Objective-C property access expression.

The results of this completion are the members of the type being accessed. The type itself is available via CodeCompletionContext::getType().

CCC_EnumTag 

Code completion occurred after the "enum" keyword, to indicate an enumeration name.

CCC_UnionTag 

Code completion occurred after the "union" keyword, to indicate a union name.

CCC_ClassOrStructTag 

Code completion occurred after the "struct" or "class" keyword, to indicate a struct or class name.

CCC_ObjCProtocolName 

Code completion occurred where a protocol name is expected.

CCC_Namespace 

Code completion occurred where a namespace or namespace alias is expected.

CCC_Type 

Code completion occurred where a type name is expected.

CCC_Name 

Code completion occurred where a new name is expected.

CCC_PotentiallyQualifiedName 

Code completion occurred where a new name is expected and a qualified name is permissible.

CCC_MacroName 

Code completion occurred where an macro is being defined.

CCC_MacroNameUse 

Code completion occurred where a macro name is expected (without any arguments, in the case of a function-like macro).

CCC_PreprocessorExpression 

Code completion occurred within a preprocessor expression.

CCC_PreprocessorDirective 

Code completion occurred where a preprocessor directive is expected.

CCC_NaturalLanguage 

Code completion occurred in a context where natural language is expected, e.g., a comment or string literal.

This context usually implies that no completions should be added, unless they come from an appropriate natural-language dictionary.

CCC_SelectorName 

Code completion for a selector, as in an @selector expression.

CCC_TypeQualifiers 

Code completion within a type-qualifier list.

CCC_ParenthesizedExpression 

Code completion in a parenthesized expression, which means that we may also have types here in C and Objective-C (as well as in C++).

CCC_ObjCInstanceMessage 

Code completion where an Objective-C instance message is expected.

CCC_ObjCClassMessage 

Code completion where an Objective-C class message is expected.

CCC_ObjCInterfaceName 

Code completion where the name of an Objective-C class is expected.

CCC_ObjCCategoryName 

Code completion where an Objective-C category name is expected.

CCC_Recovery 

An unknown context, in which we are recovering from a parsing error and don't know which completions we should give.

Definition at line 155 of file CodeCompleteConsumer.h.


Constructor & Destructor Documentation

Construct a new code-completion context of the given kind.

Definition at line 278 of file CodeCompleteConsumer.h.

clang::CodeCompletionContext::CodeCompletionContext ( enum Kind  Kind,
QualType  T,
ArrayRef< IdentifierInfo * >  SelIdents = None 
) [inline]

Construct a new code-completion context of the given kind.

Definition at line 281 of file CodeCompleteConsumer.h.

References CCC_ArrowMemberAccess, CCC_DotMemberAccess, CCC_ObjCClassMessage, CCC_ObjCInstanceMessage, and CCC_ObjCPropertyAccess.


Member Function Documentation

Retrieve the type of the base object in a member-access expression.

Definition at line 303 of file CodeCompleteConsumer.h.

Retrieve the kind of code-completion context.

Definition at line 294 of file CodeCompleteConsumer.h.

Referenced by CalculateHiddenNames().

Retrieve the type that this expression would prefer to have, e.g., if the expression is a variable initializer or a function argument, the type of the corresponding variable or function parameter.

Definition at line 299 of file CodeCompleteConsumer.h.

Retrieve the Objective-C selector identifiers.

Definition at line 306 of file CodeCompleteConsumer.h.


The documentation for this class was generated from the following files: