1
/*******************************************************************************
2
* Copyright (c) 2006, 2009 QNX Software Systems and others.
3
* All rights reserved. This program and the accompanying materials
4
* are made available under the terms of the Eclipse Public License v1.0
5
* which accompanies this distribution, and is available at
6
* http://www.eclipse.org/legal/epl-v10.html
9
* QNX - Initial API and implementation
11
*******************************************************************************/
13
package org.eclipse.cdt.internal.core.pdom.dom.c;
15
import org.eclipse.cdt.core.CCorePlugin;
16
import org.eclipse.cdt.core.dom.ast.ICompositeType;
17
import org.eclipse.cdt.core.dom.ast.IField;
18
import org.eclipse.cdt.internal.core.index.IIndexCBindingConstants;
19
import org.eclipse.cdt.internal.core.pdom.dom.IPDOMMemberOwner;
20
import org.eclipse.cdt.internal.core.pdom.dom.PDOMLinkage;
21
import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode;
22
import org.eclipse.core.runtime.CoreException;
25
* @author Doug Schaefer
28
class PDOMCField extends PDOMCVariable implements IField {
30
public PDOMCField(PDOMLinkage linkage, IPDOMMemberOwner parent, IField field) throws CoreException {
31
super(linkage, (PDOMNode) parent, field);
34
public PDOMCField(PDOMLinkage linkage, long record) {
35
super(linkage, record);
39
protected int getRecordSize() {
44
public int getNodeType() {
45
return IIndexCBindingConstants.CFIELD;
49
public boolean isStatic() {
50
// ISO/IEC 9899:TC1 6.7.2.1
55
public boolean isExtern() {
56
// ISO/IEC 9899:TC1 6.7.2.1
61
public boolean isAuto() {
62
// ISO/IEC 9899:TC1 6.7.2.1
67
public boolean isRegister() {
68
// ISO/IEC 9899:TC1 6.7.2.1
72
public ICompositeType getCompositeTypeOwner() {
74
return (ICompositeType)getParentNode();
75
} catch (CoreException e) {