1
/*******************************************************************************
2
* Copyright (c) 2004, 2009 IBM Corporation 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
* Doug Schaefer (IBM) - Initial API and implementation
10
*******************************************************************************/
11
package org.eclipse.cdt.core.dom.ast.cpp;
13
import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier;
16
* C++ adds additional modifiers and types for decl specifier sequence.
18
* @noextend This interface is not intended to be extended by clients.
19
* @noimplement This interface is not intended to be implemented by clients.
21
public interface ICPPASTDeclSpecifier extends IASTDeclSpecifier {
23
// Extra storage class in C++
25
* <code>sc_mutable</code> represents a mutable storage representation.
27
public static final int sc_mutable = IASTDeclSpecifier.sc_last + 1;
30
* <code>sc_last</code> is overwritten to allow extensibility.
32
public static final int sc_last = sc_mutable;
34
// A declaration in C++ can be a friend declaration
36
* Is this a friend declaration?
40
public boolean isFriend();
43
* Set this to be a friend declaration true/false.
48
public void setFriend(boolean value);
51
* Is this a virtual function?
55
public boolean isVirtual();
58
* Set this declaration to be virutal.
63
public void setVirtual(boolean value);
66
* Is this an explicit constructor?
70
public boolean isExplicit();
73
* Set this to be an explicit constructor.
78
public void setExplicit(boolean value);
83
public ICPPASTDeclSpecifier copy();