Package org.eclipse.cdt.core.dom.ast.cpp
Interface ICPPASTFieldReference
- All Superinterfaces:
IASTExpression
,IASTFieldReference
,IASTImplicitDestructorNameOwner
,IASTImplicitNameOwner
,IASTInitializerClause
,IASTNameOwner
,IASTNode
,ICPPASTExpression
,ICPPASTInitializerClause
public interface ICPPASTFieldReference
extends IASTFieldReference, ICPPASTExpression, IASTImplicitNameOwner
Certain field references in C++ require the use the keyword template to
specify the parse.
- Restriction:
- This interface is not intended to be implemented by clients.
- Restriction:
- This interface is not intended to be extended by clients.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTExpression
IASTExpression.ValueCategory
Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
IASTNode.CopyStyle
-
Field Summary
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTExpression
EMPTY_EXPRESSION_ARRAY
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTFieldReference
FIELD_NAME, FIELD_OWNER
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTImplicitDestructorNameOwner
IMPLICIT_DESTRUCTOR_NAME
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTImplicitNameOwner
IMPLICIT_NAME
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
r_declaration, r_definition, r_reference, r_unclear
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
-
Method Summary
Modifier and TypeMethodDescriptioncopy()
Returns a mutable copy of the tree rooted at this node.copy
(IASTNode.CopyStyle style) Returns a mutable copy of the tree rooted at this node.Returns an expression for the object containing the field.Returns the type of the field owner.boolean
Was template keyword used?void
setIsTemplate
(boolean value) Sets the template keyword used.Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTExpression
getExpressionType, getValueCategory, isLValue
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTFieldReference
getFieldName, isPointerDereference, setFieldName, setFieldOwner, setIsPointerDereference
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTImplicitDestructorNameOwner
getImplicitDestructorNames
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTImplicitNameOwner
getImplicitNames
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
getRoleForName
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
accept, contains, getChildren, getContainingFilename, getFileLocation, getLeadingSyntax, getNodeLocations, getOriginalNode, getParent, getPropertyInParent, getRawSignature, getSyntax, getTrailingSyntax, getTranslationUnit, isActive, isFrozen, isPartOfTranslationUnitFile, setParent, setPropertyInParent
Methods inherited from interface org.eclipse.cdt.core.dom.ast.cpp.ICPPASTInitializerClause
getEvaluation
-
Method Details
-
isTemplate
boolean isTemplate()Was template keyword used? -
setIsTemplate
void setIsTemplate(boolean value) Sets the template keyword used.- Parameters:
value
-
-
copy
ICPPASTFieldReference copy()Description copied from interface:IASTNode
Returns a mutable copy of the tree rooted at this node. The following postconditions hold:copy.getParent() == null copy.getPropertyInParent() == null copy.isFrozen() == false
Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.Calling this method is equivalent to
copy(CopyStyle.withoutLocations)
.- Specified by:
copy
in interfaceIASTExpression
- Specified by:
copy
in interfaceIASTFieldReference
- Specified by:
copy
in interfaceIASTInitializerClause
- Specified by:
copy
in interfaceIASTNode
- Since:
- 5.1
-
copy
Description copied from interface:IASTNode
Returns a mutable copy of the tree rooted at this node. The following postconditions hold:copy.getParent() == null copy.getPropertyInParent() == null copy.isFrozen() == false
Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.- Specified by:
copy
in interfaceIASTExpression
- Specified by:
copy
in interfaceIASTFieldReference
- Specified by:
copy
in interfaceIASTInitializerClause
- Specified by:
copy
in interfaceIASTNode
- Parameters:
style
-IASTNode.CopyStyle
create a copy with or without locations. Please seeIASTNode.CopyStyle
for restrictions on copies with Locations.- Since:
- 5.3
-
getFieldOwnerType
IType getFieldOwnerType()Returns the type of the field owner.- Since:
- 5.4
-
getFieldOwner
ICPPASTExpression getFieldOwner()Description copied from interface:IASTFieldReference
Returns an expression for the object containing the field.- Specified by:
getFieldOwner
in interfaceIASTFieldReference
- Returns:
- the field owner
- Since:
- 5.5
-