mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
added more exception handling in model
This commit is contained in:
parent
0b7e5958f2
commit
a16487b5bd
44 changed files with 432 additions and 305 deletions
|
@ -1,3 +1,6 @@
|
|||
2004-04-20 David Inglis
|
||||
The CoreModel interfaces throw much more exception, we need to log them for errors.
|
||||
|
||||
2004-04-19 Alain Magloire
|
||||
The CoreModel interfaces throw much more exception, we need to log them for errors.
|
||||
|
||||
|
|
|
@ -502,7 +502,7 @@ public class CModelElementsTests extends TestCase {
|
|||
assertEquals(startLine, element.getStartLine());
|
||||
assertEquals(endLine, element.getEndLine());
|
||||
}
|
||||
private void checkElementOffset(CElement element){
|
||||
private void checkElementOffset(CElement element) throws CModelException{
|
||||
if(element.getElementName().length() > 0 ){
|
||||
assertTrue (element.getStartPos() <= element.getIdStartPos());
|
||||
assertEquals (element.getIdLength(), element.getElementName().length());
|
||||
|
|
|
@ -208,7 +208,7 @@ public class IStructureTests extends IntegratedCModelTest {
|
|||
}
|
||||
}
|
||||
|
||||
public void testIsUnion() {
|
||||
public void testIsUnion() throws CModelException {
|
||||
ITranslationUnit tu = getTU();
|
||||
ICElement myElementUnion = null;
|
||||
ICElement myElementNonUnion = null;
|
||||
|
@ -232,7 +232,7 @@ public class IStructureTests extends IntegratedCModelTest {
|
|||
assertNotNull( myStructNonUnion );
|
||||
assertFalse( myStructNonUnion.isUnion() );
|
||||
}
|
||||
public void testIsStruct() {
|
||||
public void testIsStruct() throws CModelException {
|
||||
ITranslationUnit tu = getTU();
|
||||
ICElement myElementStruct = null;
|
||||
ICElement myElementNonStruct = null;
|
||||
|
@ -257,7 +257,7 @@ public class IStructureTests extends IntegratedCModelTest {
|
|||
assertFalse( myStructNonStruct.isStruct() );
|
||||
}
|
||||
|
||||
public void testIsClass() {
|
||||
public void testIsClass() throws CModelException {
|
||||
ITranslationUnit tu = getTU();
|
||||
ICElement myElementClass = null;
|
||||
ICElement myElementNonClass = null;
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2004-04-20 David Inglis
|
||||
|
||||
Added more CModelException throwing in model essentially if the model fails to create
|
||||
a info an exception is thrown, it we *not* return null.
|
||||
|
||||
to many files changes to list here.....
|
||||
|
||||
2004-04-20 Alain Magloire
|
||||
|
||||
Fix for PR 59081
|
||||
|
|
|
@ -35,13 +35,17 @@ public interface ICProject extends IParent, IOpenable, ICElement {
|
|||
|
||||
/**
|
||||
* Return the ArchiveContainer of this Project.
|
||||
* @return
|
||||
* @throws CModelException
|
||||
*/
|
||||
IArchiveContainer getArchiveContainer();
|
||||
IArchiveContainer getArchiveContainer() throws CModelException;
|
||||
|
||||
/**
|
||||
* Return the BinaryContainer of this Project.
|
||||
* @return
|
||||
* @throws CModelException
|
||||
*/
|
||||
IBinaryContainer getBinaryContainer();
|
||||
IBinaryContainer getBinaryContainer() throws CModelException;
|
||||
|
||||
/**
|
||||
* Returns the source root folders of the project.
|
||||
|
|
|
@ -12,7 +12,25 @@ package org.eclipse.cdt.core.model;
|
|||
***********************************************************************/
|
||||
|
||||
public interface IDeclaration extends ICElement, ISourceManipulation, ISourceReference {
|
||||
boolean isStatic();
|
||||
boolean isConst();
|
||||
boolean isVolatile();
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
* @throws CModelException
|
||||
*/
|
||||
boolean isStatic() throws CModelException;
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
* @throws CModelException
|
||||
*/
|
||||
boolean isConst() throws CModelException;
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
* @throws CModelException
|
||||
*/
|
||||
boolean isVolatile() throws CModelException;
|
||||
}
|
||||
|
|
|
@ -16,5 +16,5 @@ public interface IField extends IMember, IVariableDeclaration {
|
|||
* @exception CModelException if this element does not exist or if an
|
||||
* exception occurs while accessing its corresponding resource.
|
||||
*/
|
||||
public boolean isMutable();
|
||||
public boolean isMutable() throws CModelException;
|
||||
}
|
||||
|
|
|
@ -62,5 +62,5 @@ public interface IFunctionDeclaration extends IDeclaration {
|
|||
/**
|
||||
* Returns the signature of the method.
|
||||
*/
|
||||
String getSignature();
|
||||
String getSignature() throws CModelException;
|
||||
}
|
||||
|
|
|
@ -19,6 +19,6 @@ public interface IMember extends IDeclaration {
|
|||
* V_PRIVATE = 0 V_PROTECTED = 1 V_PUBLIC = 2
|
||||
* @return int
|
||||
*/
|
||||
public ASTAccessVisibility getVisibility();
|
||||
public ASTAccessVisibility getVisibility() throws CModelException;
|
||||
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ public interface IMethodDeclaration extends IMember, IFunctionDeclaration {
|
|||
* @exception CModelException if this element does not exist or if an
|
||||
* exception occurs while accessing its corresponding resource.
|
||||
*/
|
||||
boolean isConstructor();
|
||||
boolean isConstructor() throws CModelException;
|
||||
|
||||
/**
|
||||
* Returns whether this method is a destructor.
|
||||
|
@ -24,7 +24,7 @@ public interface IMethodDeclaration extends IMember, IFunctionDeclaration {
|
|||
* @exception CModelException if this element does not exist or if an
|
||||
* exception occurs while accessing its corresponding resource.
|
||||
*/
|
||||
boolean isDestructor();
|
||||
boolean isDestructor() throws CModelException;
|
||||
|
||||
/**
|
||||
* Returns whether this method is an operator method.
|
||||
|
@ -32,7 +32,7 @@ public interface IMethodDeclaration extends IMember, IFunctionDeclaration {
|
|||
* @exception CModelException if this element does not exist or if an
|
||||
* exception occurs while accessing its corresponding resource.
|
||||
*/
|
||||
boolean isOperator();
|
||||
boolean isOperator() throws CModelException;
|
||||
|
||||
/**
|
||||
* Returns whether this method is declared pure virtual.
|
||||
|
@ -42,19 +42,19 @@ public interface IMethodDeclaration extends IMember, IFunctionDeclaration {
|
|||
* @exception CModelException if this element does not exist or if an
|
||||
* exception occurs while accessing its corresponding resource.
|
||||
*/
|
||||
boolean isPureVirtual();
|
||||
boolean isPureVirtual() throws CModelException;
|
||||
|
||||
/**
|
||||
* Returns if this method is static or not
|
||||
* @return boolean
|
||||
*/
|
||||
public boolean isStatic();
|
||||
public boolean isStatic() throws CModelException;
|
||||
|
||||
/**
|
||||
* Returns if this method is inline or not
|
||||
* @return boolean
|
||||
*/
|
||||
public boolean isInline();
|
||||
public boolean isInline() throws CModelException;
|
||||
|
||||
/**
|
||||
* Returns whether this method is declared virtual.
|
||||
|
@ -62,11 +62,11 @@ public interface IMethodDeclaration extends IMember, IFunctionDeclaration {
|
|||
* @exception CModelException if this element does not exist or if an
|
||||
* exception occurs while accessing its corresponding resource.
|
||||
*/
|
||||
boolean isVirtual();
|
||||
boolean isVirtual() throws CModelException;
|
||||
|
||||
/**
|
||||
* return true if the member is a friend.
|
||||
*/
|
||||
public boolean isFriend();
|
||||
public boolean isFriend() throws CModelException;
|
||||
|
||||
}
|
||||
|
|
|
@ -46,6 +46,8 @@ public interface ISourceReference {
|
|||
/**
|
||||
* Returns the translation unit in which this member is declared, or <code>null</code>
|
||||
* if this member is not declared in a translation unit (for example, a binary type).
|
||||
* @return
|
||||
* @throws CModelException
|
||||
*/
|
||||
ITranslationUnit getTranslationUnit();
|
||||
}
|
||||
|
|
|
@ -28,11 +28,26 @@ public interface IStructure extends IInheritance, IParent, IVariableDeclaration
|
|||
*/
|
||||
public IMethodDeclaration [] getMethods() throws CModelException;
|
||||
|
||||
public boolean isUnion();
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
* @throws CModelException
|
||||
*/
|
||||
public boolean isUnion() throws CModelException;
|
||||
|
||||
public boolean isClass();
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
* @throws CModelException
|
||||
*/
|
||||
public boolean isClass() throws CModelException;
|
||||
|
||||
public boolean isStruct();
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
* @throws CModelException
|
||||
*/
|
||||
public boolean isStruct() throws CModelException;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -40,5 +55,4 @@ public interface IStructure extends IInheritance, IParent, IVariableDeclaration
|
|||
* @throws CModelException
|
||||
*/
|
||||
public boolean isAbstract() throws CModelException;
|
||||
|
||||
}
|
||||
|
|
|
@ -23,8 +23,9 @@ public interface ITemplate extends IDeclaration {
|
|||
/**
|
||||
* Returns the template signature
|
||||
* @return String
|
||||
* @throws CModelException
|
||||
*/
|
||||
String getTemplateSignature();
|
||||
String getTemplateSignature() throws CModelException;
|
||||
/**
|
||||
* Returns the number of template parameters
|
||||
* @return int
|
||||
|
|
|
@ -9,6 +9,17 @@ package org.eclipse.cdt.core.model;
|
|||
* Represents the declaration of a variable.
|
||||
*/
|
||||
public interface IVariableDeclaration extends IDeclaration {
|
||||
public String getTypeName();
|
||||
public void setTypeName(String type);
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
* @throws CModelException
|
||||
*/
|
||||
public String getTypeName() throws CModelException;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type
|
||||
* @throws CModelException
|
||||
*/
|
||||
public void setTypeName(String type) throws CModelException;
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ public class Archive extends Openable implements IArchive {
|
|||
return new ArchiveInfo(this);
|
||||
}
|
||||
|
||||
protected ArchiveInfo getArchiveInfo() {
|
||||
protected ArchiveInfo getArchiveInfo() throws CModelException {
|
||||
return (ArchiveInfo)getElementInfo();
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
|
|
|
@ -219,7 +219,7 @@ public class Binary extends Openable implements IBinary {
|
|||
}
|
||||
|
||||
|
||||
boolean computeChildren(OpenableInfo info, IResource res) {
|
||||
boolean computeChildren(OpenableInfo info, IResource res) throws CModelException {
|
||||
boolean ok = false;
|
||||
if (isObject() || isExecutable() || isSharedLib()) {
|
||||
Map hash = new HashMap();
|
||||
|
@ -243,7 +243,7 @@ public class Binary extends Openable implements IBinary {
|
|||
return ok;
|
||||
}
|
||||
|
||||
private void addFunction(OpenableInfo info, ISymbol symbol, Map hash) {
|
||||
private void addFunction(OpenableInfo info, ISymbol symbol, Map hash) throws CModelException {
|
||||
IPath filename = filename = symbol.getFilename();
|
||||
BinaryFunction function = null;
|
||||
|
||||
|
@ -273,7 +273,7 @@ public class Binary extends Openable implements IBinary {
|
|||
// }
|
||||
}
|
||||
|
||||
private void addVariable(OpenableInfo info, ISymbol symbol, Map hash) {
|
||||
private void addVariable(OpenableInfo info, ISymbol symbol, Map hash) throws CModelException {
|
||||
IPath filename = filename = symbol.getFilename();
|
||||
BinaryVariable variable = null;
|
||||
if (filename != null) {
|
||||
|
|
|
@ -43,17 +43,18 @@ public class BinaryRunner {
|
|||
if (cproject == null || monitor.isCanceled()) {
|
||||
return Status.CANCEL_STATUS;
|
||||
}
|
||||
BinaryContainer vbin = (BinaryContainer) cproject.getBinaryContainer();
|
||||
ArchiveContainer vlib = (ArchiveContainer) cproject.getArchiveContainer();
|
||||
vlib.removeChildren();
|
||||
vbin.removeChildren();
|
||||
try {
|
||||
BinaryContainer vbin = (BinaryContainer) cproject.getBinaryContainer();
|
||||
ArchiveContainer vlib = (ArchiveContainer) cproject.getArchiveContainer();
|
||||
|
||||
vlib.removeChildren();
|
||||
vbin.removeChildren();
|
||||
cproject.getProject().accept(new Visitor(BinaryRunner.this, monitor));
|
||||
fireEvents(cproject, vbin);
|
||||
fireEvents(cproject, vlib);
|
||||
} catch (CoreException e) {
|
||||
return e.getStatus();
|
||||
}
|
||||
fireEvents(cproject, vbin);
|
||||
fireEvents(cproject, vlib);
|
||||
return Status.OK_STATUS;
|
||||
}
|
||||
};
|
||||
|
|
|
@ -220,7 +220,7 @@ public class CContainer extends Openable implements ICContainer {
|
|||
return true;
|
||||
}
|
||||
|
||||
protected ICElement computeChild(IResource resource, ICProject cproject) {
|
||||
protected ICElement computeChild(IResource resource, ICProject cproject) throws CModelException {
|
||||
ICElement celement = null;
|
||||
switch (resource.getType()) {
|
||||
case IResource.FILE :
|
||||
|
|
|
@ -78,7 +78,11 @@ public abstract class CElement extends PlatformObject implements ICElement {
|
|||
}
|
||||
|
||||
public boolean exists() {
|
||||
return getElementInfo() != null;
|
||||
try {
|
||||
return getElementInfo() != null;
|
||||
} catch (CModelException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -143,7 +147,7 @@ public abstract class CElement extends PlatformObject implements ICElement {
|
|||
return null;
|
||||
}
|
||||
|
||||
protected void addChild(ICElement e) {
|
||||
protected void addChild(ICElement e) throws CModelException {
|
||||
}
|
||||
|
||||
public void setPos(int startPos, int length) {
|
||||
|
@ -225,22 +229,18 @@ public abstract class CElement extends PlatformObject implements ICElement {
|
|||
return false;
|
||||
}
|
||||
|
||||
public CElementInfo getElementInfo () {
|
||||
try {
|
||||
CModelManager manager;
|
||||
synchronized(manager = CModelManager.getDefault()){
|
||||
Object info = manager.getInfo(this);
|
||||
public CElementInfo getElementInfo () throws CModelException {
|
||||
CModelManager manager;
|
||||
synchronized(manager = CModelManager.getDefault()){
|
||||
Object info = manager.getInfo(this);
|
||||
if (info == null) {
|
||||
openHierarchy();
|
||||
info= manager.getInfo(this);
|
||||
if (info == null) {
|
||||
openHierarchy();
|
||||
info= manager.getInfo(this);
|
||||
if (info == null) {
|
||||
throw newNotPresentException();
|
||||
}
|
||||
throw newNotPresentException();
|
||||
}
|
||||
return (CElementInfo)info;
|
||||
}
|
||||
} catch(CModelException e) {
|
||||
return null;
|
||||
return (CElementInfo)info;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ import java.util.HashMap;
|
|||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.ICElement;
|
||||
import org.eclipse.cdt.core.model.ICElementDelta;
|
||||
import org.eclipse.cdt.core.model.IParent;
|
||||
|
@ -125,7 +126,7 @@ private void added(ICElement element) {
|
|||
* Builds the C element deltas between the old content of the translation unit
|
||||
* and its new content.
|
||||
*/
|
||||
public void buildDeltas() {
|
||||
public void buildDeltas() throws CModelException {
|
||||
this.recordNewPositions(this.cElement, 0);
|
||||
this.findAdditions(this.cElement, 0);
|
||||
this.findDeletions();
|
||||
|
@ -135,7 +136,7 @@ public void buildDeltas() {
|
|||
/**
|
||||
* Finds elements which have been added or changed.
|
||||
*/
|
||||
private void findAdditions(ICElement newElement, int depth) {
|
||||
private void findAdditions(ICElement newElement, int depth) throws CModelException {
|
||||
CElementInfo oldInfo = this.getElementInfo(newElement);
|
||||
if (oldInfo == null && depth < this.maxDepth) {
|
||||
this.delta.added(newElement);
|
||||
|
@ -169,7 +170,7 @@ private void findAdditions(ICElement newElement, int depth) {
|
|||
/**
|
||||
* Looks for changed positioning of elements.
|
||||
*/
|
||||
private void findChangesInPositioning(ICElement element, int depth) {
|
||||
private void findChangesInPositioning(ICElement element, int depth) throws CModelException {
|
||||
if (depth >= this.maxDepth || this.added.contains(element) || this.removed.contains(element))
|
||||
return;
|
||||
|
||||
|
@ -340,7 +341,7 @@ private void recordElementInfo(ICElement element, int depth) {
|
|||
/**
|
||||
* Fills the newPositions hashtable with the new position information
|
||||
*/
|
||||
private void recordNewPositions(ICElement newElement, int depth) {
|
||||
private void recordNewPositions(ICElement newElement, int depth) throws CModelException {
|
||||
if (depth < this.maxDepth && newElement instanceof IParent) {
|
||||
CElementInfo info = null;
|
||||
info = ((CElement)newElement).getElementInfo();
|
||||
|
|
|
@ -183,7 +183,7 @@ public class CModelBuilder {
|
|||
|
||||
}
|
||||
|
||||
private void generateModelElements(){
|
||||
private void generateModelElements() throws CModelException{
|
||||
Iterator i = quickParseCallback.iterateOffsetableElements();
|
||||
while (i.hasNext()){
|
||||
IASTOffsetableElement offsetable = (IASTOffsetableElement)i.next();
|
||||
|
@ -201,7 +201,7 @@ public class CModelBuilder {
|
|||
}
|
||||
}
|
||||
|
||||
private void generateModelElements (Parent parent, IASTDeclaration declaration) throws ASTNotImplementedException
|
||||
private void generateModelElements (Parent parent, IASTDeclaration declaration) throws CModelException, ASTNotImplementedException
|
||||
{
|
||||
if(declaration instanceof IASTNamespaceDefinition ) {
|
||||
generateModelElements(parent, (IASTNamespaceDefinition) declaration);
|
||||
|
@ -222,7 +222,7 @@ public class CModelBuilder {
|
|||
createSimpleElement(parent, declaration, false);
|
||||
}
|
||||
|
||||
private void generateModelElements (Parent parent, IASTNamespaceDefinition declaration) throws ASTNotImplementedException{
|
||||
private void generateModelElements (Parent parent, IASTNamespaceDefinition declaration) throws CModelException, ASTNotImplementedException{
|
||||
// IASTNamespaceDefinition
|
||||
IParent namespace = createNamespace(parent, declaration);
|
||||
Iterator nsDecls = declaration.getDeclarations();
|
||||
|
@ -232,13 +232,13 @@ public class CModelBuilder {
|
|||
}
|
||||
}
|
||||
|
||||
private void generateModelElements (Parent parent, IASTAbstractTypeSpecifierDeclaration abstractDeclaration) throws ASTNotImplementedException
|
||||
private void generateModelElements (Parent parent, IASTAbstractTypeSpecifierDeclaration abstractDeclaration) throws CModelException, ASTNotImplementedException
|
||||
{
|
||||
// IASTAbstractTypeSpecifierDeclaration
|
||||
CElement element = createAbstractElement(parent, abstractDeclaration, false);
|
||||
}
|
||||
|
||||
private void generateModelElements (Parent parent, IASTTemplateDeclaration templateDeclaration) throws ASTNotImplementedException
|
||||
private void generateModelElements (Parent parent, IASTTemplateDeclaration templateDeclaration) throws CModelException, ASTNotImplementedException
|
||||
{
|
||||
// Template Declaration
|
||||
IASTDeclaration declaration = (IASTDeclaration)templateDeclaration.getOwnedDeclaration();
|
||||
|
@ -269,14 +269,14 @@ public class CModelBuilder {
|
|||
}
|
||||
}
|
||||
|
||||
private void generateModelElements (Parent parent, IASTTypedefDeclaration declaration) throws ASTNotImplementedException
|
||||
private void generateModelElements (Parent parent, IASTTypedefDeclaration declaration) throws CModelException, ASTNotImplementedException
|
||||
{
|
||||
TypeDef typeDef = createTypeDef(parent, declaration);
|
||||
IASTAbstractDeclaration abstractDeclaration = declaration.getAbstractDeclarator();
|
||||
CElement element = createAbstractElement(parent, abstractDeclaration, false);
|
||||
}
|
||||
|
||||
private CElement createAbstractElement(Parent parent, IASTTypeSpecifierOwner abstractDeclaration, boolean isTemplate)throws ASTNotImplementedException{
|
||||
private CElement createAbstractElement(Parent parent, IASTTypeSpecifierOwner abstractDeclaration, boolean isTemplate)throws ASTNotImplementedException, CModelException{
|
||||
CElement element = null;
|
||||
if(abstractDeclaration != null){
|
||||
IASTTypeSpecifier typeSpec = abstractDeclaration.getTypeSpecifier();
|
||||
|
@ -306,7 +306,7 @@ public class CModelBuilder {
|
|||
return element;
|
||||
}
|
||||
|
||||
private CElement createSimpleElement(Parent parent, IASTDeclaration declaration, boolean isTemplate)throws ASTNotImplementedException{
|
||||
private CElement createSimpleElement(Parent parent, IASTDeclaration declaration, boolean isTemplate)throws CModelException, ASTNotImplementedException{
|
||||
|
||||
CElement element = null;
|
||||
if (declaration instanceof IASTVariable)
|
||||
|
@ -321,7 +321,7 @@ public class CModelBuilder {
|
|||
return element;
|
||||
}
|
||||
|
||||
private Include createInclusion(Parent parent, IASTInclusion inclusion){
|
||||
private Include createInclusion(Parent parent, IASTInclusion inclusion) throws CModelException{
|
||||
// create element
|
||||
Include element = new Include((CElement)parent, inclusion.getName(), !inclusion.isLocal());
|
||||
element.setFullPathName(inclusion.getFullFileName());
|
||||
|
@ -335,7 +335,7 @@ public class CModelBuilder {
|
|||
return element;
|
||||
}
|
||||
|
||||
private Macro createMacro(Parent parent, IASTMacro macro){
|
||||
private Macro createMacro(Parent parent, IASTMacro macro) throws CModelException{
|
||||
// create element
|
||||
org.eclipse.cdt.internal.core.model.Macro element = new Macro(parent, macro.getName());
|
||||
// add to parent
|
||||
|
@ -349,7 +349,7 @@ public class CModelBuilder {
|
|||
|
||||
}
|
||||
|
||||
private Namespace createNamespace(Parent parent, IASTNamespaceDefinition nsDef){
|
||||
private Namespace createNamespace(Parent parent, IASTNamespaceDefinition nsDef) throws CModelException{
|
||||
// create element
|
||||
String type = "namespace"; //$NON-NLS-1$
|
||||
String nsName = (nsDef.getName() == null )
|
||||
|
@ -368,7 +368,7 @@ public class CModelBuilder {
|
|||
return element;
|
||||
}
|
||||
|
||||
private Enumeration createEnumeration(Parent parent, IASTEnumerationSpecifier enumSpecifier){
|
||||
private Enumeration createEnumeration(Parent parent, IASTEnumerationSpecifier enumSpecifier) throws CModelException{
|
||||
// create element
|
||||
String type = "enum"; //$NON-NLS-1$
|
||||
String enumName = (enumSpecifier.getName() == null )
|
||||
|
@ -394,7 +394,7 @@ public class CModelBuilder {
|
|||
return element;
|
||||
}
|
||||
|
||||
private Enumerator createEnumerator(Parent enum, IASTEnumerator enumDef){
|
||||
private Enumerator createEnumerator(Parent enum, IASTEnumerator enumDef) throws CModelException{
|
||||
Enumerator element = new Enumerator (enum, enumDef.getName().toString());
|
||||
IASTExpression initialValue = enumDef.getInitialValue();
|
||||
if(initialValue != null){
|
||||
|
@ -413,7 +413,7 @@ public class CModelBuilder {
|
|||
return element;
|
||||
}
|
||||
|
||||
private Structure createClass(Parent parent, IASTClassSpecifier classSpecifier, boolean isTemplate){
|
||||
private Structure createClass(Parent parent, IASTClassSpecifier classSpecifier, boolean isTemplate) throws CModelException{
|
||||
// create element
|
||||
String className = ""; //$NON-NLS-1$
|
||||
String type = ""; //$NON-NLS-1$
|
||||
|
@ -482,7 +482,7 @@ public class CModelBuilder {
|
|||
return element;
|
||||
}
|
||||
|
||||
private TypeDef createTypeDef(Parent parent, IASTTypedefDeclaration typeDefDeclaration){
|
||||
private TypeDef createTypeDef(Parent parent, IASTTypedefDeclaration typeDefDeclaration) throws CModelException{
|
||||
// create the element
|
||||
String name = typeDefDeclaration.getName();
|
||||
|
||||
|
@ -502,7 +502,7 @@ public class CModelBuilder {
|
|||
return element;
|
||||
}
|
||||
|
||||
private VariableDeclaration createVariableSpecification(Parent parent, IASTVariable varDeclaration, boolean isTemplate)throws ASTNotImplementedException
|
||||
private VariableDeclaration createVariableSpecification(Parent parent, IASTVariable varDeclaration, boolean isTemplate)throws CModelException, ASTNotImplementedException
|
||||
{
|
||||
String variableName = varDeclaration.getName();
|
||||
if((variableName == null) || (variableName.length() <= 0)){
|
||||
|
@ -558,7 +558,7 @@ public class CModelBuilder {
|
|||
return element;
|
||||
}
|
||||
|
||||
private FunctionDeclaration createFunctionSpecification(Parent parent, IASTFunction functionDeclaration, boolean isTemplate)
|
||||
private FunctionDeclaration createFunctionSpecification(Parent parent, IASTFunction functionDeclaration, boolean isTemplate) throws CModelException
|
||||
{
|
||||
String name = functionDeclaration.getName();
|
||||
if ((name == null) || (name.length() <= 0)) {
|
||||
|
|
|
@ -53,11 +53,11 @@ public class CProject extends Openable implements ICProject {
|
|||
super(parent, project, CElement.C_PROJECT);
|
||||
}
|
||||
|
||||
public IBinaryContainer getBinaryContainer() {
|
||||
public IBinaryContainer getBinaryContainer() throws CModelException {
|
||||
return ((CProjectInfo) getElementInfo()).getBinaryContainer();
|
||||
}
|
||||
|
||||
public IArchiveContainer getArchiveContainer() {
|
||||
public IArchiveContainer getArchiveContainer() throws CModelException {
|
||||
return ((CProjectInfo) getElementInfo()).getArchiveContainer();
|
||||
}
|
||||
|
||||
|
|
|
@ -87,52 +87,54 @@ public class DeltaProcessor {
|
|||
|
||||
// BUG 36424:
|
||||
// The Binary may only be visible in the BinaryContainers
|
||||
|
||||
if (celement == null && resource.getType() == IResource.FILE) {
|
||||
ICElement[] children;
|
||||
ICProject cproj = manager.create(resource.getProject());
|
||||
if (cproj != null && cproj.isOpen()) {
|
||||
IBinaryContainer bin = cproj.getBinaryContainer();
|
||||
if (bin.isOpen()) {
|
||||
children = ((CElement)bin).getElementInfo().getChildren();
|
||||
for (int i = 0; i < children.length; i++) {
|
||||
IResource res = children[i].getResource();
|
||||
if (resource.equals(res)) {
|
||||
celement = children[i];
|
||||
break;
|
||||
try {
|
||||
if (celement == null && resource.getType() == IResource.FILE) {
|
||||
ICElement[] children;
|
||||
ICProject cproj = manager.create(resource.getProject());
|
||||
if (cproj != null && cproj.isOpen()) {
|
||||
IBinaryContainer bin = cproj.getBinaryContainer();
|
||||
if (bin.isOpen()) {
|
||||
children = ((CElement)bin).getElementInfo().getChildren();
|
||||
for (int i = 0; i < children.length; i++) {
|
||||
IResource res = children[i].getResource();
|
||||
if (resource.equals(res)) {
|
||||
celement = children[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// BUG 36424:
|
||||
// The Archive may only be visible in the ArchiveContainers
|
||||
if (celement == null && resource.getType() == IResource.FILE) {
|
||||
ICElement[] children;
|
||||
ICProject cproj = manager.create(resource.getProject());
|
||||
if (cproj != null && cproj.isOpen()) {
|
||||
IArchiveContainer ar = cproj.getArchiveContainer();
|
||||
if (ar.isOpen()) {
|
||||
children = ((CElement)ar).getElementInfo().getChildren();
|
||||
for (int i = 0; i < children.length; i++) {
|
||||
IResource res = children[i].getResource();
|
||||
if (resource.equals(res)) {
|
||||
celement = children[i];
|
||||
break;
|
||||
// BUG 36424:
|
||||
// The Archive may only be visible in the ArchiveContainers
|
||||
if (celement == null && resource.getType() == IResource.FILE) {
|
||||
ICElement[] children;
|
||||
ICProject cproj = manager.create(resource.getProject());
|
||||
if (cproj != null && cproj.isOpen()) {
|
||||
IArchiveContainer ar = cproj.getArchiveContainer();
|
||||
if (ar.isOpen()) {
|
||||
children = ((CElement)ar).getElementInfo().getChildren();
|
||||
for (int i = 0; i < children.length; i++) {
|
||||
IResource res = children[i].getResource();
|
||||
if (resource.equals(res)) {
|
||||
celement = children[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// It is not a C resource if the parent is a Binary/ArchiveContainer
|
||||
// But we have to release too.
|
||||
if (celement != null && resource.getType() == IResource.FILE) {
|
||||
ICElement parent = celement.getParent();
|
||||
if (parent instanceof IArchiveContainer || parent instanceof IBinaryContainer) {
|
||||
releaseCElement(celement);
|
||||
celement = null;
|
||||
// It is not a C resource if the parent is a Binary/ArchiveContainer
|
||||
// But we have to release too.
|
||||
if (celement != null && resource.getType() == IResource.FILE) {
|
||||
ICElement parent = celement.getParent();
|
||||
if (parent instanceof IArchiveContainer || parent instanceof IBinaryContainer) {
|
||||
releaseCElement(celement);
|
||||
celement = null;
|
||||
}
|
||||
}
|
||||
} catch (CModelException e) {
|
||||
return null;
|
||||
}
|
||||
return celement;
|
||||
}
|
||||
|
@ -140,7 +142,7 @@ public class DeltaProcessor {
|
|||
/**
|
||||
* Adds the given child handle to its parent's cache of children.
|
||||
*/
|
||||
protected void addToParentInfo(Openable child) {
|
||||
protected void addToParentInfo(Openable child) throws CModelException {
|
||||
Openable parent = (Openable) child.getParent();
|
||||
if (parent != null && parent.isOpen()) {
|
||||
CElementInfo info = parent.getElementInfo();
|
||||
|
@ -153,7 +155,7 @@ public class DeltaProcessor {
|
|||
* element does not have a parent, or the parent is not currently open,
|
||||
* this has no effect.
|
||||
*/
|
||||
private void removeFromParentInfo(ICElement child) {
|
||||
private void removeFromParentInfo(ICElement child) throws CModelException {
|
||||
CModelManager factory = CModelManager.getDefault();
|
||||
|
||||
// Remove the child from the parent list.
|
||||
|
@ -166,7 +168,7 @@ public class DeltaProcessor {
|
|||
/**
|
||||
* Release the Element and cleaning.
|
||||
*/
|
||||
protected void releaseCElement(ICElement celement) {
|
||||
protected void releaseCElement(ICElement celement) throws CModelException {
|
||||
CModelManager factory = CModelManager.getDefault();
|
||||
int type = celement.getElementType();
|
||||
if (type == ICElement.C_ARCHIVE) {
|
||||
|
@ -184,27 +186,21 @@ public class DeltaProcessor {
|
|||
CProjectInfo pinfo = (CProjectInfo)factory.peekAtInfo(cproject);
|
||||
if (pinfo != null && pinfo.vBin != null) {
|
||||
if (factory.peekAtInfo(pinfo.vBin) != null) {
|
||||
try {
|
||||
ICElement[] bins = pinfo.vBin.getChildren();
|
||||
for (int i = 0; i < bins.length; i++) {
|
||||
if (celement.getPath().isPrefixOf(bins[i].getPath())) {
|
||||
fCurrentDelta.changed(pinfo.vBin, ICElementDelta.CHANGED);
|
||||
}
|
||||
ICElement[] bins = pinfo.vBin.getChildren();
|
||||
for (int i = 0; i < bins.length; i++) {
|
||||
if (celement.getPath().isPrefixOf(bins[i].getPath())) {
|
||||
fCurrentDelta.changed(pinfo.vBin, ICElementDelta.CHANGED);
|
||||
}
|
||||
} catch (CModelException e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (pinfo != null && pinfo.vLib != null) {
|
||||
if (factory.peekAtInfo(pinfo.vLib) != null) {
|
||||
try {
|
||||
ICElement[] ars = pinfo.vLib.getChildren();
|
||||
for (int i = 0; i < ars.length; i++) {
|
||||
if (celement.getPath().isPrefixOf(ars[i].getPath())) {
|
||||
fCurrentDelta.changed(pinfo.vBin, ICElementDelta.CHANGED);
|
||||
}
|
||||
ICElement[] ars = pinfo.vLib.getChildren();
|
||||
for (int i = 0; i < ars.length; i++) {
|
||||
if (celement.getPath().isPrefixOf(ars[i].getPath())) {
|
||||
fCurrentDelta.changed(pinfo.vBin, ICElementDelta.CHANGED);
|
||||
}
|
||||
} catch (CModelException e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -230,7 +226,7 @@ public class DeltaProcessor {
|
|||
* <code>basicElementAdded</code>.
|
||||
* </ul>
|
||||
*/
|
||||
protected void elementAdded(ICElement element, IResourceDelta delta) {
|
||||
protected void elementAdded(ICElement element, IResourceDelta delta) throws CModelException {
|
||||
|
||||
if (element instanceof Openable) {
|
||||
addToParentInfo((Openable)element);
|
||||
|
@ -258,7 +254,7 @@ public class DeltaProcessor {
|
|||
* a resource is closed, the platform reports all children as removed. This
|
||||
* would effectively delete the classpath if we processed children.
|
||||
*/
|
||||
protected void elementClosed(ICElement element, IResourceDelta delta) {
|
||||
protected void elementClosed(ICElement element, IResourceDelta delta) throws CModelException {
|
||||
|
||||
if (element.getElementType() == ICElement.C_PROJECT) {
|
||||
// treat project closing as removal
|
||||
|
@ -278,7 +274,7 @@ public class DeltaProcessor {
|
|||
* as a the element being opened (CHANGED + F_CLOSED).
|
||||
* </ul>
|
||||
*/
|
||||
protected void elementOpened(ICElement element, IResourceDelta delta) {
|
||||
protected void elementOpened(ICElement element, IResourceDelta delta) throws CModelException {
|
||||
|
||||
if (element.getElementType() == ICElement.C_PROJECT) {
|
||||
// treat project opening as addition
|
||||
|
@ -325,7 +321,7 @@ public class DeltaProcessor {
|
|||
* <li>Add a REMOVED entry in the delta
|
||||
* </ul>
|
||||
*/
|
||||
protected void elementRemoved(ICElement element, IResourceDelta delta) {
|
||||
protected void elementRemoved(ICElement element, IResourceDelta delta) throws CModelException {
|
||||
if ((delta.getFlags() & IResourceDelta.MOVED_TO) != 0) {
|
||||
IPath movedToPath = delta.getMovedToPath();
|
||||
// create the moved to element
|
||||
|
@ -445,7 +441,7 @@ public class DeltaProcessor {
|
|||
* @param parent
|
||||
* @param delta
|
||||
*/
|
||||
protected void nonCResourcesChanged(ICElement parent, IResourceDelta delta) {
|
||||
protected void nonCResourcesChanged(ICElement parent, IResourceDelta delta) throws CModelException {
|
||||
if (parent instanceof Openable && ((Openable)parent).isOpen()) {
|
||||
CElementInfo info = ((Openable)parent).getElementInfo();
|
||||
switch (parent.getElementType()) {
|
||||
|
|
|
@ -11,6 +11,7 @@ package org.eclipse.cdt.internal.core.model;
|
|||
* Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.ICElement;
|
||||
import org.eclipse.cdt.core.model.IEnumeration;
|
||||
|
||||
|
@ -24,7 +25,7 @@ public class Enumeration extends SourceManipulation implements IEnumeration{
|
|||
return new EnumerationInfo(this);
|
||||
}
|
||||
|
||||
private EnumerationInfo getEnumerationInfo(){
|
||||
private EnumerationInfo getEnumerationInfo() throws CModelException{
|
||||
return (EnumerationInfo) getElementInfo();
|
||||
}
|
||||
/**
|
||||
|
@ -37,35 +38,35 @@ public class Enumeration extends SourceManipulation implements IEnumeration{
|
|||
/**
|
||||
* @see org.eclipse.cdt.core.model.IVariableDeclaration#getTypeName()
|
||||
*/
|
||||
public String getTypeName() {
|
||||
public String getTypeName() throws CModelException {
|
||||
return getEnumerationInfo().getTypeName();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.cdt.core.model.IVariableDeclaration#setTypeName(java.lang.String)
|
||||
*/
|
||||
public void setTypeName(String type) {
|
||||
public void setTypeName(String type) throws CModelException {
|
||||
getEnumerationInfo().setTypeName(type);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.cdt.core.model.IDeclaration#isConst()
|
||||
*/
|
||||
public boolean isConst() {
|
||||
public boolean isConst() throws CModelException {
|
||||
return getEnumerationInfo().isConst();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.cdt.core.model.IDeclaration#isStatic()
|
||||
*/
|
||||
public boolean isStatic() {
|
||||
public boolean isStatic() throws CModelException {
|
||||
return getEnumerationInfo().isStatic();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.cdt.core.model.IDeclaration#isVolatile()
|
||||
*/
|
||||
public boolean isVolatile() {
|
||||
public boolean isVolatile() throws CModelException {
|
||||
return getEnumerationInfo().isVolatile();
|
||||
}
|
||||
|
||||
|
@ -73,7 +74,7 @@ public class Enumeration extends SourceManipulation implements IEnumeration{
|
|||
* Sets the isConst.
|
||||
* @param isConst The isConst to set
|
||||
*/
|
||||
public void setConst(boolean isConst) {
|
||||
public void setConst(boolean isConst) throws CModelException {
|
||||
getEnumerationInfo().setConst(isConst);
|
||||
}
|
||||
|
||||
|
@ -81,7 +82,7 @@ public class Enumeration extends SourceManipulation implements IEnumeration{
|
|||
* Sets the isStatic.
|
||||
* @param isStatic The isStatic to set
|
||||
*/
|
||||
public void setStatic(boolean isStatic) {
|
||||
public void setStatic(boolean isStatic) throws CModelException {
|
||||
getEnumerationInfo().setStatic( isStatic);
|
||||
}
|
||||
|
||||
|
@ -89,7 +90,7 @@ public class Enumeration extends SourceManipulation implements IEnumeration{
|
|||
* Sets the isVolatile.
|
||||
* @param isVolatile The isVolatile to set
|
||||
*/
|
||||
public void setVolatile(boolean isVolatile) {
|
||||
public void setVolatile(boolean isVolatile) throws CModelException {
|
||||
getEnumerationInfo().setVolatile(isVolatile);
|
||||
}
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ package org.eclipse.cdt.internal.core.model;
|
|||
* All Rights Reserved.
|
||||
*/
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.ICElement;
|
||||
import org.eclipse.cdt.core.model.IField;
|
||||
import org.eclipse.cdt.core.parser.ast.ASTAccessVisibility;
|
||||
|
@ -15,55 +16,55 @@ public class Field extends VariableDeclaration implements IField {
|
|||
super(parent, name, CElement.C_FIELD);
|
||||
}
|
||||
|
||||
public boolean isMutable(){
|
||||
public boolean isMutable() throws CModelException{
|
||||
return getFieldInfo().isMutable();
|
||||
}
|
||||
|
||||
public void setMutable(boolean mutable){
|
||||
public void setMutable(boolean mutable) throws CModelException{
|
||||
getFieldInfo().setMutable(mutable);
|
||||
}
|
||||
|
||||
public String getTypeName() {
|
||||
public String getTypeName() throws CModelException {
|
||||
return getFieldInfo().getTypeName();
|
||||
}
|
||||
|
||||
public void setTypeName(String type) {
|
||||
public void setTypeName(String type) throws CModelException {
|
||||
getFieldInfo().setTypeName(type);
|
||||
}
|
||||
|
||||
public boolean isConst() {
|
||||
public boolean isConst() throws CModelException {
|
||||
return getFieldInfo().isConst();
|
||||
}
|
||||
|
||||
public void setConst(boolean isConst) {
|
||||
public void setConst(boolean isConst) throws CModelException {
|
||||
getFieldInfo().setConst(isConst);
|
||||
}
|
||||
|
||||
public boolean isVolatile() {
|
||||
public boolean isVolatile() throws CModelException {
|
||||
return getFieldInfo().isVolatile();
|
||||
}
|
||||
|
||||
public void setVolatile(boolean isVolatile) {
|
||||
public void setVolatile(boolean isVolatile) throws CModelException {
|
||||
getFieldInfo().setVolatile(isVolatile);
|
||||
}
|
||||
|
||||
public boolean isStatic() {
|
||||
public boolean isStatic() throws CModelException {
|
||||
return getFieldInfo().isStatic();
|
||||
}
|
||||
|
||||
public void setStatic(boolean isStatic) {
|
||||
public void setStatic(boolean isStatic) throws CModelException {
|
||||
getFieldInfo().setStatic(isStatic);
|
||||
}
|
||||
|
||||
public ASTAccessVisibility getVisibility() {
|
||||
public ASTAccessVisibility getVisibility() throws CModelException {
|
||||
return getFieldInfo().getVisibility();
|
||||
}
|
||||
|
||||
public void setVisibility(ASTAccessVisibility visibility) {
|
||||
public void setVisibility(ASTAccessVisibility visibility) throws CModelException {
|
||||
getFieldInfo().setVisibility(visibility);
|
||||
}
|
||||
|
||||
public FieldInfo getFieldInfo(){
|
||||
public FieldInfo getFieldInfo() throws CModelException{
|
||||
return (FieldInfo) getElementInfo();
|
||||
}
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ package org.eclipse.cdt.internal.core.model;
|
|||
* All Rights Reserved.
|
||||
*/
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.ICElement;
|
||||
import org.eclipse.cdt.core.model.IFunctionDeclaration;
|
||||
|
||||
|
@ -49,13 +50,14 @@ public class FunctionDeclaration extends SourceManipulation implements IFunction
|
|||
fParameterTypes = parameterTypes;
|
||||
}
|
||||
|
||||
public String getSignature(){
|
||||
public String getSignature() throws CModelException{
|
||||
StringBuffer sig = new StringBuffer(getElementName());
|
||||
sig.append(getParameterClause());
|
||||
if(isConst())
|
||||
sig.append(" const"); //$NON-NLS-1$
|
||||
if(isVolatile())
|
||||
if(isVolatile()) {
|
||||
sig.append(" volatile"); //$NON-NLS-1$
|
||||
}
|
||||
return sig.toString();
|
||||
}
|
||||
|
||||
|
@ -91,7 +93,7 @@ public class FunctionDeclaration extends SourceManipulation implements IFunction
|
|||
return new FunctionInfo(this);
|
||||
}
|
||||
|
||||
protected FunctionInfo getFunctionInfo(){
|
||||
protected FunctionInfo getFunctionInfo() throws CModelException{
|
||||
return (FunctionInfo) getElementInfo();
|
||||
}
|
||||
|
||||
|
@ -110,11 +112,11 @@ public class FunctionDeclaration extends SourceManipulation implements IFunction
|
|||
* FunctionDeclarations and Functions can not be constant
|
||||
* @see org.eclipse.cdt.core.model.IDeclaration#isConst()
|
||||
*/
|
||||
public boolean isConst(){
|
||||
public boolean isConst() throws CModelException{
|
||||
return getFunctionInfo().isConst();
|
||||
}
|
||||
|
||||
public void setConst(boolean isConst){
|
||||
public void setConst(boolean isConst) throws CModelException{
|
||||
getFunctionInfo().setConst(isConst);
|
||||
}
|
||||
|
||||
|
@ -122,7 +124,7 @@ public class FunctionDeclaration extends SourceManipulation implements IFunction
|
|||
* Returns the isStatic.
|
||||
* @return boolean
|
||||
*/
|
||||
public boolean isStatic() {
|
||||
public boolean isStatic() throws CModelException {
|
||||
return getFunctionInfo().isStatic();
|
||||
}
|
||||
|
||||
|
@ -130,7 +132,7 @@ public class FunctionDeclaration extends SourceManipulation implements IFunction
|
|||
* Returns the isVolatile.
|
||||
* @return boolean
|
||||
*/
|
||||
public boolean isVolatile() {
|
||||
public boolean isVolatile() throws CModelException {
|
||||
return getFunctionInfo().isVolatile();
|
||||
}
|
||||
|
||||
|
@ -138,7 +140,7 @@ public class FunctionDeclaration extends SourceManipulation implements IFunction
|
|||
* Sets the isStatic.
|
||||
* @param isStatic The isStatic to set
|
||||
*/
|
||||
public void setStatic(boolean isStatic) {
|
||||
public void setStatic(boolean isStatic) throws CModelException {
|
||||
getFunctionInfo().setStatic(isStatic);
|
||||
}
|
||||
|
||||
|
@ -146,7 +148,7 @@ public class FunctionDeclaration extends SourceManipulation implements IFunction
|
|||
* Sets the isVolatile.
|
||||
* @param isVolatile The isVolatile to set
|
||||
*/
|
||||
public void setVolatile(boolean isVolatile) {
|
||||
public void setVolatile(boolean isVolatile) throws CModelException {
|
||||
getFunctionInfo().setVolatile(isVolatile);
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ package org.eclipse.cdt.internal.core.model;
|
|||
* Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.ICElement;
|
||||
import org.eclipse.cdt.core.model.ITemplate;
|
||||
|
||||
|
@ -58,7 +59,7 @@ public class FunctionTemplate extends FunctionDeclaration implements ITemplate{
|
|||
* normal parameter list, then a colon then the function's
|
||||
* return type.
|
||||
*/
|
||||
public String getTemplateSignature() {
|
||||
public String getTemplateSignature() throws CModelException {
|
||||
StringBuffer sig = new StringBuffer(getElementName());
|
||||
if(getNumberOfTemplateParameters() > 0){
|
||||
sig.append("<"); //$NON-NLS-1$
|
||||
|
|
|
@ -11,6 +11,7 @@ package org.eclipse.cdt.internal.core.model;
|
|||
* Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.ICElement;
|
||||
import org.eclipse.cdt.core.model.IMethodDeclaration;
|
||||
import org.eclipse.cdt.core.parser.ast.ASTAccessVisibility;
|
||||
|
@ -53,35 +54,35 @@ public class MethodDeclaration extends FunctionDeclaration implements IMethodDec
|
|||
return getElementName().startsWith("operator"); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
public boolean isPureVirtual(){
|
||||
public boolean isPureVirtual() throws CModelException{
|
||||
return getMethodInfo().isPureVirtual();
|
||||
}
|
||||
|
||||
public void setPureVirtual(boolean isPureVirtual){
|
||||
public void setPureVirtual(boolean isPureVirtual) throws CModelException{
|
||||
getMethodInfo().setPureVirtual(isPureVirtual);
|
||||
}
|
||||
|
||||
public boolean isInline(){
|
||||
public boolean isInline() throws CModelException{
|
||||
return getMethodInfo().isInline();
|
||||
}
|
||||
|
||||
public void setInline(boolean isInline){
|
||||
public void setInline(boolean isInline) throws CModelException{
|
||||
getMethodInfo().setInline(isInline);
|
||||
}
|
||||
|
||||
public boolean isVirtual(){
|
||||
public boolean isVirtual() throws CModelException{
|
||||
return getMethodInfo().isVirtual();
|
||||
}
|
||||
|
||||
public void setVirtual(boolean isVirtual){
|
||||
public void setVirtual(boolean isVirtual) throws CModelException{
|
||||
getMethodInfo().setVirtual(isVirtual);
|
||||
}
|
||||
|
||||
public boolean isFriend(){
|
||||
public boolean isFriend() throws CModelException{
|
||||
return getMethodInfo().isFriend();
|
||||
}
|
||||
|
||||
public void setFriend(boolean isFriend){
|
||||
public void setFriend(boolean isFriend) throws CModelException{
|
||||
getMethodInfo().setFriend(isFriend);
|
||||
}
|
||||
|
||||
|
@ -89,16 +90,16 @@ public class MethodDeclaration extends FunctionDeclaration implements IMethodDec
|
|||
return isConst;
|
||||
}
|
||||
|
||||
public void setConst(boolean isConst){
|
||||
public void setConst(boolean isConst) throws CModelException{
|
||||
this.isConst = isConst;
|
||||
getMethodInfo().setConst(isConst);
|
||||
}
|
||||
|
||||
public ASTAccessVisibility getVisibility(){
|
||||
public ASTAccessVisibility getVisibility() throws CModelException{
|
||||
return getMethodInfo().getVisibility();
|
||||
}
|
||||
|
||||
public void setVisibility(ASTAccessVisibility visibility){
|
||||
public void setVisibility(ASTAccessVisibility visibility) throws CModelException{
|
||||
getMethodInfo().setVisibility(visibility);
|
||||
}
|
||||
|
||||
|
@ -106,7 +107,7 @@ public class MethodDeclaration extends FunctionDeclaration implements IMethodDec
|
|||
return new MethodInfo(this);
|
||||
}
|
||||
|
||||
private MethodInfo getMethodInfo(){
|
||||
private MethodInfo getMethodInfo() throws CModelException{
|
||||
return (MethodInfo) getElementInfo();
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ package org.eclipse.cdt.internal.core.model;
|
|||
* Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.ICElement;
|
||||
import org.eclipse.cdt.core.model.ITemplate;
|
||||
|
||||
|
@ -59,7 +60,7 @@ public class MethodTemplate extends MethodDeclaration implements ITemplate{
|
|||
* return type.
|
||||
*/
|
||||
|
||||
public String getTemplateSignature() {
|
||||
public String getTemplateSignature() throws CModelException {
|
||||
StringBuffer sig = new StringBuffer(getElementName());
|
||||
if(getNumberOfTemplateParameters() > 0){
|
||||
sig.append("<"); //$NON-NLS-1$
|
||||
|
|
|
@ -23,7 +23,7 @@ public abstract class Parent extends CElement {
|
|||
* Adds a child to the current element.
|
||||
* Implementations override this method to support children
|
||||
*/
|
||||
public void addChild(ICElement member) {
|
||||
public void addChild(ICElement member) throws CModelException {
|
||||
getElementInfo().addChild(member);
|
||||
}
|
||||
|
||||
|
@ -31,11 +31,11 @@ public abstract class Parent extends CElement {
|
|||
* Removes a child to the current element.
|
||||
* Implementations override this method to support children
|
||||
*/
|
||||
public void removeChild(ICElement member) {
|
||||
public void removeChild(ICElement member) throws CModelException {
|
||||
getElementInfo().removeChild(member);
|
||||
}
|
||||
|
||||
public void removeChildren () {
|
||||
public void removeChildren () throws CModelException {
|
||||
getElementInfo().removeChildren();
|
||||
}
|
||||
|
||||
|
@ -71,15 +71,27 @@ public abstract class Parent extends CElement {
|
|||
}
|
||||
|
||||
public boolean hasChildren () {
|
||||
return getElementInfo().hasChildren();
|
||||
try {
|
||||
return getElementInfo().hasChildren();
|
||||
} catch (CModelException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void setChanged () {
|
||||
getElementInfo().setChanged();
|
||||
try {
|
||||
getElementInfo().setChanged();
|
||||
} catch (CModelException e) {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
|
||||
protected boolean hasChanged () {
|
||||
return getElementInfo().hasChanged();
|
||||
try {
|
||||
return getElementInfo().hasChanged();
|
||||
} catch (CModelException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -92,7 +92,11 @@ public class SourceManipulation extends Parent implements ISourceManipulation, I
|
|||
* @see IMember
|
||||
*/
|
||||
public ITranslationUnit getTranslationUnit() {
|
||||
return getSourceManipulationInfo().getTranslationUnit();
|
||||
try {
|
||||
return getSourceManipulationInfo().getTranslationUnit();
|
||||
} catch (CModelException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -149,11 +153,11 @@ public class SourceManipulation extends Parent implements ISourceManipulation, I
|
|||
return new SourceManipulationInfo(this);
|
||||
}
|
||||
|
||||
protected SourceManipulationInfo getSourceManipulationInfo() {
|
||||
protected SourceManipulationInfo getSourceManipulationInfo() throws CModelException {
|
||||
return (SourceManipulationInfo)getElementInfo();
|
||||
}
|
||||
|
||||
public boolean isIdentical(SourceManipulation other){
|
||||
public boolean isIdentical(SourceManipulation other) throws CModelException{
|
||||
return (this.equals(other)
|
||||
&& (this.getSourceManipulationInfo().hasSameContentsAs(other.getSourceManipulationInfo())));
|
||||
}
|
||||
|
|
|
@ -66,15 +66,15 @@ public class Structure extends SourceManipulation implements IStructure {
|
|||
return null;
|
||||
}
|
||||
|
||||
public boolean isUnion() {
|
||||
public boolean isUnion() throws CModelException {
|
||||
return getStructureInfo().isUnion();
|
||||
}
|
||||
|
||||
public boolean isClass() {
|
||||
public boolean isClass() throws CModelException {
|
||||
return getStructureInfo().isClass();
|
||||
}
|
||||
|
||||
public boolean isStruct() {
|
||||
public boolean isStruct() throws CModelException {
|
||||
return getStructureInfo().isStruct();
|
||||
}
|
||||
|
||||
|
@ -96,39 +96,39 @@ public class Structure extends SourceManipulation implements IStructure {
|
|||
return (ASTAccessVisibility)superClassesNames.get(name);
|
||||
}
|
||||
|
||||
public String getTypeName() {
|
||||
public String getTypeName() throws CModelException {
|
||||
return getStructureInfo().getTypeName();
|
||||
}
|
||||
|
||||
public void setTypeName(String type){
|
||||
public void setTypeName(String type) throws CModelException{
|
||||
getStructureInfo().setTypeString(type);
|
||||
}
|
||||
|
||||
public boolean isConst() {
|
||||
public boolean isConst() throws CModelException {
|
||||
return getStructureInfo().isConst();
|
||||
}
|
||||
|
||||
public void setConst(boolean isConst) {
|
||||
public void setConst(boolean isConst) throws CModelException {
|
||||
getStructureInfo().setConst(isConst);
|
||||
}
|
||||
|
||||
public boolean isVolatile() {
|
||||
public boolean isVolatile() throws CModelException {
|
||||
return getStructureInfo().isVolatile();
|
||||
}
|
||||
|
||||
public void setVolatile(boolean isVolatile) {
|
||||
public void setVolatile(boolean isVolatile) throws CModelException {
|
||||
getStructureInfo().setVolatile(isVolatile);
|
||||
}
|
||||
|
||||
public boolean isStatic() {
|
||||
public boolean isStatic() throws CModelException {
|
||||
return getStructureInfo().isStatic();
|
||||
}
|
||||
|
||||
public void setStatic(boolean isStatic) {
|
||||
public void setStatic(boolean isStatic) throws CModelException {
|
||||
getStructureInfo().setStatic(isStatic);
|
||||
}
|
||||
|
||||
public StructureInfo getStructureInfo(){
|
||||
public StructureInfo getStructureInfo() throws CModelException{
|
||||
return (StructureInfo) getElementInfo();
|
||||
}
|
||||
|
||||
|
|
|
@ -212,7 +212,7 @@ public class TranslationUnit extends Openable implements ITranslationUnit {
|
|||
return getSourceManipulationInfo().getSourceRange();
|
||||
}
|
||||
|
||||
protected TranslationUnitInfo getTranslationUnitInfo() {
|
||||
protected TranslationUnitInfo getTranslationUnitInfo() throws CModelException {
|
||||
return (TranslationUnitInfo)getElementInfo();
|
||||
}
|
||||
|
||||
|
@ -296,7 +296,11 @@ public class TranslationUnit extends Openable implements ITranslationUnit {
|
|||
* @param element
|
||||
*/
|
||||
private void getNewElements(Map newElements, CElement element){
|
||||
Object info = element.getElementInfo();
|
||||
Object info = null;
|
||||
try {
|
||||
info = element.getElementInfo();
|
||||
} catch (CModelException e) {
|
||||
}
|
||||
if(info != null){
|
||||
if(element instanceof IParent){
|
||||
ICElement[] children = ((CElementInfo)info).getChildren();
|
||||
|
|
|
@ -5,6 +5,7 @@ package org.eclipse.cdt.internal.core.model;
|
|||
* All Rights Reserved.
|
||||
*/
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.ICElement;
|
||||
import org.eclipse.cdt.core.model.IVariableDeclaration;
|
||||
|
||||
|
@ -18,39 +19,39 @@ public class VariableDeclaration extends SourceManipulation implements IVariable
|
|||
super(parent, name, type);
|
||||
}
|
||||
|
||||
public String getTypeName() {
|
||||
public String getTypeName() throws CModelException {
|
||||
return getVariableInfo().getTypeName();
|
||||
}
|
||||
|
||||
public void setTypeName(String type) {
|
||||
public void setTypeName(String type) throws CModelException {
|
||||
getVariableInfo().setTypeString(type);
|
||||
}
|
||||
|
||||
public boolean isConst() {
|
||||
public boolean isConst() throws CModelException {
|
||||
return getVariableInfo().isConst();
|
||||
}
|
||||
|
||||
public void setConst(boolean isConst) {
|
||||
public void setConst(boolean isConst) throws CModelException {
|
||||
getVariableInfo().setConst(isConst);
|
||||
}
|
||||
|
||||
public boolean isVolatile() {
|
||||
public boolean isVolatile() throws CModelException {
|
||||
return getVariableInfo().isVolatile();
|
||||
}
|
||||
|
||||
public void setVolatile(boolean isVolatile) {
|
||||
public void setVolatile(boolean isVolatile) throws CModelException {
|
||||
getVariableInfo().setVolatile(isVolatile);
|
||||
}
|
||||
|
||||
public boolean isStatic() {
|
||||
public boolean isStatic() throws CModelException {
|
||||
return getVariableInfo().isStatic();
|
||||
}
|
||||
|
||||
public void setStatic(boolean isStatic) {
|
||||
public void setStatic(boolean isStatic) throws CModelException {
|
||||
getVariableInfo().setStatic(isStatic);
|
||||
}
|
||||
|
||||
public VariableInfo getVariableInfo(){
|
||||
public VariableInfo getVariableInfo() throws CModelException{
|
||||
return (VariableInfo) getElementInfo();
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ package org.eclipse.cdt.internal.core.model;
|
|||
* Contributors:
|
||||
* Rational Software - Initial API and implementation
|
||||
***********************************************************************/
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.ICElement;
|
||||
import org.eclipse.cdt.core.model.ITemplate;
|
||||
|
||||
|
@ -46,7 +47,7 @@ public class VariableTemplate extends Variable implements ITemplate {
|
|||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.model.ITemplate#getTemplateSignature()
|
||||
*/
|
||||
public String getTemplateSignature() {
|
||||
public String getTemplateSignature() throws CModelException {
|
||||
StringBuffer sig = new StringBuffer(getElementName());
|
||||
if(getNumberOfTemplateParameters() > 0){
|
||||
sig.append("<"); //$NON-NLS-1$
|
||||
|
|
|
@ -208,9 +208,13 @@ public class WorkingCopy extends TranslationUnit implements IWorkingCopy {
|
|||
if (this.useCount == 0) {
|
||||
return false;
|
||||
}
|
||||
// if resource got deleted, then #getModificationStamp() will answer IResource.NULL_STAMP, which is always different from the cached
|
||||
// timestamp
|
||||
return ((TranslationUnitInfo) getElementInfo()).fTimestamp == ((IFile) resource).getModificationStamp();
|
||||
try {
|
||||
// if resource got deleted, then #getModificationStamp() will answer IResource.NULL_STAMP, which is always different from the cached
|
||||
// timestamp
|
||||
return ((TranslationUnitInfo) getElementInfo()).fTimestamp == ((IFile) resource).getModificationStamp();
|
||||
} catch (CModelException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @see org.eclipse.cdt.core.model.ITranslationUnit#isWorkingCopy()
|
||||
|
|
|
@ -525,6 +525,7 @@ public class CCorePlugin extends Plugin {
|
|||
}
|
||||
} catch (CoreException e) {
|
||||
log(e);
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
if (configs == null) {
|
||||
|
@ -584,7 +585,7 @@ public class CCorePlugin extends Plugin {
|
|||
list.toArray(parsers);
|
||||
}
|
||||
} catch (CoreException e) {
|
||||
log(e);
|
||||
// ignore since we fall back to a default....
|
||||
}
|
||||
}
|
||||
if (parsers == null) {
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
2004-04-20 David Inglis
|
||||
|
||||
More of the model throws CModeLException.
|
||||
|
||||
* refactor/org/eclipse/cdt/internal/corext/refactoring/rename/RenameElementProcessor.java
|
||||
* src/org/eclipse/cdt/internal/ui/CElementImageProvider.java
|
||||
* src/org/eclipse/cdt/internal/ui/search/CElementLabels.java
|
||||
* src/org/eclipse/cdt/internal/ui/viewsupport/MemberFilter.java
|
||||
* src/org/eclipse/cdt/ui/CElementContentProvider.java
|
||||
* src/org/eclipse/cdt/ui/CElementLabelProvider.java
|
||||
|
||||
2004-04-20 Alain Magloire
|
||||
|
||||
Fix for PR 59081
|
||||
|
|
|
@ -151,7 +151,7 @@ public class RenameElementProcessor extends RenameProcessor implements IReferenc
|
|||
return ((CElement)fCElement).getIdStartPos();
|
||||
}
|
||||
|
||||
public String getElementQualifiedName(ICElement element){
|
||||
public String getElementQualifiedName(ICElement element) throws CModelException{
|
||||
if(!eligibleForRefactoring(element)){
|
||||
return "";
|
||||
} else {
|
||||
|
@ -172,7 +172,7 @@ public class RenameElementProcessor extends RenameProcessor implements IReferenc
|
|||
return name.toString();
|
||||
}
|
||||
}
|
||||
public RefactoringStatus checkNewElementName(String newName){
|
||||
public RefactoringStatus checkNewElementName(String newName) throws CModelException{
|
||||
if (!eligibleForRefactoring(fCElement)) {
|
||||
return RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.getString("RenameTypeRefactoring.wrong_element")); //$NON-NLS-1$
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ package org.eclipse.cdt.internal.ui;
|
|||
* All Rights Reserved.
|
||||
*/
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.CoreModel;
|
||||
import org.eclipse.cdt.core.model.IBinary;
|
||||
import org.eclipse.cdt.core.model.IBinaryModule;
|
||||
|
@ -339,21 +340,25 @@ public class CElementImageProvider {
|
|||
return getEnumeratorImageDescriptor();
|
||||
|
||||
case ICElement.C_FIELD:
|
||||
{
|
||||
try {
|
||||
IField field = (IField)celement;
|
||||
ASTAccessVisibility visibility = field.getVisibility();
|
||||
return getFieldImageDescriptor(visibility);
|
||||
} catch (CModelException e) {
|
||||
return null;
|
||||
}
|
||||
|
||||
case ICElement.C_METHOD:
|
||||
case ICElement.C_METHOD_DECLARATION:
|
||||
case ICElement.C_TEMPLATE_METHOD:
|
||||
{
|
||||
try {
|
||||
|
||||
IMethodDeclaration md= (IMethodDeclaration)celement;
|
||||
ASTAccessVisibility visibility =md.getVisibility();
|
||||
return getMethodImageDescriptor(visibility);
|
||||
} catch (CModelException e) {
|
||||
return null;
|
||||
}
|
||||
|
||||
case ICElement.C_VARIABLE:
|
||||
case ICElement.C_TEMPLATE_VARIABLE:
|
||||
return getVariableImageDescriptor();
|
||||
|
@ -388,20 +393,23 @@ public class CElementImageProvider {
|
|||
|
||||
int flags= computeBasicAdornmentFlags(element, renderFlags);
|
||||
|
||||
if (showOverlayIcons(renderFlags) && element instanceof IDeclaration) {
|
||||
IDeclaration decl = (IDeclaration) element;
|
||||
if(decl.isStatic()){
|
||||
flags |= CElementImageDescriptor.STATIC;
|
||||
}
|
||||
if(decl.isConst()){
|
||||
flags |= CElementImageDescriptor.CONSTANT;
|
||||
}
|
||||
if(decl.isVolatile()){
|
||||
flags |= CElementImageDescriptor.VOLATILE;
|
||||
}
|
||||
if(element instanceof ITemplate){
|
||||
flags |= CElementImageDescriptor.TEMPLATE;
|
||||
try {
|
||||
if (showOverlayIcons(renderFlags) && element instanceof IDeclaration) {
|
||||
IDeclaration decl = (IDeclaration) element;
|
||||
if(decl.isStatic()){
|
||||
flags |= CElementImageDescriptor.STATIC;
|
||||
}
|
||||
if(decl.isConst()){
|
||||
flags |= CElementImageDescriptor.CONSTANT;
|
||||
}
|
||||
if(decl.isVolatile()){
|
||||
flags |= CElementImageDescriptor.VOLATILE;
|
||||
}
|
||||
if(element instanceof ITemplate){
|
||||
flags |= CElementImageDescriptor.TEMPLATE;
|
||||
}
|
||||
}
|
||||
} catch (CModelException e) {
|
||||
}
|
||||
return flags;
|
||||
}
|
||||
|
|
|
@ -13,9 +13,11 @@
|
|||
*/
|
||||
package org.eclipse.cdt.internal.ui.search;
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.ICElement;
|
||||
import org.eclipse.cdt.core.model.IMethod;
|
||||
import org.eclipse.cdt.core.model.IStructure;
|
||||
import org.eclipse.cdt.ui.CUIPlugin;
|
||||
import org.eclipse.core.runtime.IAdaptable;
|
||||
import org.eclipse.ui.model.IWorkbenchAdapter;
|
||||
|
||||
|
@ -280,6 +282,7 @@ public class CElementLabels {
|
|||
}
|
||||
|
||||
public static void getMethodLabel( IMethod method, int flags, StringBuffer buf ) {
|
||||
try {
|
||||
//return type
|
||||
if( getFlag( flags, M_PRE_RETURNTYPE ) && method.exists() && !method.isConstructor() ) {
|
||||
buf.append( method.getReturnType() );
|
||||
|
@ -347,6 +350,9 @@ public class CElementLabels {
|
|||
buf.append( CONCAT_STRING );
|
||||
getTypeLabel( method.getParent(), T_FULLY_QUALIFIED | (flags & P_COMPRESSED), buf );
|
||||
}
|
||||
} catch (CModelException e) {
|
||||
CUIPlugin.getDefault().log(e);
|
||||
}
|
||||
}
|
||||
|
||||
public static void getTypeLabel(ICElement type, int flags, StringBuffer buf) {
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
******************************************************************************/
|
||||
package org.eclipse.cdt.internal.ui.viewsupport;
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.IDeclaration;
|
||||
import org.eclipse.cdt.core.model.IField;
|
||||
import org.eclipse.cdt.core.model.IMember;
|
||||
|
@ -61,19 +62,23 @@ public class MemberFilter extends ViewerFilter{
|
|||
*/
|
||||
public boolean select(Viewer viewer, Object parentElement, Object element) {
|
||||
if(element instanceof IDeclaration){
|
||||
IDeclaration declaration = (IDeclaration) element;
|
||||
if (hasFilter(FILTER_STATIC) && (declaration.isStatic()) ) {
|
||||
return false;
|
||||
}
|
||||
if (element instanceof IMember) {
|
||||
IMember member= (IMember)element;
|
||||
if (hasFilter(FILTER_NONPUBLIC) && (member.getVisibility() != ASTAccessVisibility.PUBLIC)) {
|
||||
try {
|
||||
IDeclaration declaration = (IDeclaration) element;
|
||||
if (hasFilter(FILTER_STATIC) && (declaration.isStatic()) ) {
|
||||
return false;
|
||||
}
|
||||
if (element instanceof IMember) {
|
||||
IMember member= (IMember)element;
|
||||
if (hasFilter(FILTER_NONPUBLIC) && (member.getVisibility() != ASTAccessVisibility.PUBLIC)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (hasFilter(FILTER_FIELDS) && element instanceof IField) {
|
||||
return false;
|
||||
if (hasFilter(FILTER_FIELDS) && element instanceof IField) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} catch (CModelException e) {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -206,7 +206,7 @@ public class CElementContentProvider extends BaseCElementContentProvider impleme
|
|||
}
|
||||
}
|
||||
|
||||
private boolean updateContainer(ICElement cfile) {
|
||||
private boolean updateContainer(ICElement cfile) throws CModelException {
|
||||
IParent container = null;
|
||||
ICProject cproject = null;
|
||||
if (cfile instanceof IBinary) {
|
||||
|
|
|
@ -5,6 +5,7 @@ package org.eclipse.cdt.ui;
|
|||
* All Rights Reserved.
|
||||
*/
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
import org.eclipse.cdt.core.model.IBinary;
|
||||
import org.eclipse.cdt.core.model.ICElement;
|
||||
import org.eclipse.cdt.core.model.IFunctionDeclaration;
|
||||
|
@ -117,77 +118,81 @@ public class CElementLabelProvider extends LabelProvider {
|
|||
*/
|
||||
public String getText(Object element) {
|
||||
if (element instanceof ICElement) {
|
||||
ICElement celem= (ICElement)element;
|
||||
try {
|
||||
ICElement celem= (ICElement)element;
|
||||
|
||||
StringBuffer name = new StringBuffer();
|
||||
switch(celem.getElementType()){
|
||||
case ICElement.C_FIELD:
|
||||
case ICElement.C_VARIABLE:
|
||||
case ICElement.C_VARIABLE_DECLARATION:
|
||||
IVariableDeclaration vDecl = (IVariableDeclaration) celem;
|
||||
StringBuffer name = new StringBuffer();
|
||||
switch(celem.getElementType()){
|
||||
case ICElement.C_FIELD:
|
||||
case ICElement.C_VARIABLE:
|
||||
case ICElement.C_VARIABLE_DECLARATION:
|
||||
IVariableDeclaration vDecl = (IVariableDeclaration) celem;
|
||||
name.append(vDecl.getElementName());
|
||||
if((vDecl.getTypeName() != null) &&(vDecl.getTypeName().length() > 0)){
|
||||
name.append(" : "); //$NON-NLS-1$
|
||||
name.append(vDecl.getTypeName());
|
||||
}
|
||||
break;
|
||||
case ICElement.C_FUNCTION:
|
||||
case ICElement.C_FUNCTION_DECLARATION:
|
||||
case ICElement.C_METHOD:
|
||||
case ICElement.C_METHOD_DECLARATION:
|
||||
IFunctionDeclaration fDecl = (IFunctionDeclaration) celem;
|
||||
break;
|
||||
case ICElement.C_FUNCTION:
|
||||
case ICElement.C_FUNCTION_DECLARATION:
|
||||
case ICElement.C_METHOD:
|
||||
case ICElement.C_METHOD_DECLARATION:
|
||||
IFunctionDeclaration fDecl = (IFunctionDeclaration) celem;
|
||||
name.append(fDecl.getSignature());
|
||||
if((fDecl.getReturnType() != null) &&(fDecl.getReturnType().length() > 0)){
|
||||
name.append(" : "); //$NON-NLS-1$
|
||||
name.append(fDecl.getReturnType());
|
||||
}
|
||||
break;
|
||||
case ICElement.C_STRUCT:
|
||||
case ICElement.C_UNION:
|
||||
case ICElement.C_ENUMERATION:
|
||||
if((celem.getElementName() != null) && (celem.getElementName().length() > 0)){
|
||||
name.append(celem.getElementName());
|
||||
} else if (celem instanceof IVariableDeclaration) {
|
||||
IVariableDeclaration varDecl = (IVariableDeclaration) celem;
|
||||
name.append(varDecl.getTypeName());
|
||||
}
|
||||
break;
|
||||
case ICElement.C_TYPEDEF:
|
||||
ITypeDef tDecl = (ITypeDef) celem;
|
||||
break;
|
||||
case ICElement.C_STRUCT:
|
||||
case ICElement.C_UNION:
|
||||
case ICElement.C_ENUMERATION:
|
||||
if((celem.getElementName() != null) && (celem.getElementName().length() > 0)){
|
||||
name.append(celem.getElementName());
|
||||
} else if (celem instanceof IVariableDeclaration) {
|
||||
IVariableDeclaration varDecl = (IVariableDeclaration) celem;
|
||||
name.append(varDecl.getTypeName());
|
||||
}
|
||||
break;
|
||||
case ICElement.C_TYPEDEF:
|
||||
ITypeDef tDecl = (ITypeDef) celem;
|
||||
name.append(tDecl.getElementName());
|
||||
if((tDecl.getTypeName() != null) &&(tDecl.getTypeName().length() > 0)){
|
||||
name.append(" : "); //$NON-NLS-1$
|
||||
name.append(tDecl.getTypeName());
|
||||
}
|
||||
break;
|
||||
case ICElement.C_NAMESPACE:
|
||||
if((celem.getElementName() != null) && (celem.getElementName().length() > 0)){
|
||||
name.append(celem.getElementName());
|
||||
} else if (celem instanceof INamespace) {
|
||||
INamespace nDecl = (INamespace) celem;
|
||||
name.append(nDecl.getTypeName());
|
||||
}
|
||||
break;
|
||||
case ICElement.C_TEMPLATE_CLASS:
|
||||
case ICElement.C_TEMPLATE_FUNCTION:
|
||||
case ICElement.C_TEMPLATE_METHOD:
|
||||
case ICElement.C_TEMPLATE_STRUCT:
|
||||
case ICElement.C_TEMPLATE_UNION:
|
||||
case ICElement.C_TEMPLATE_VARIABLE:
|
||||
ITemplate template = (ITemplate) celem;
|
||||
break;
|
||||
case ICElement.C_NAMESPACE:
|
||||
if((celem.getElementName() != null) && (celem.getElementName().length() > 0)){
|
||||
name.append(celem.getElementName());
|
||||
} else if (celem instanceof INamespace) {
|
||||
INamespace nDecl = (INamespace) celem;
|
||||
name.append(nDecl.getTypeName());
|
||||
}
|
||||
break;
|
||||
case ICElement.C_TEMPLATE_CLASS:
|
||||
case ICElement.C_TEMPLATE_FUNCTION:
|
||||
case ICElement.C_TEMPLATE_METHOD:
|
||||
case ICElement.C_TEMPLATE_STRUCT:
|
||||
case ICElement.C_TEMPLATE_UNION:
|
||||
case ICElement.C_TEMPLATE_VARIABLE:
|
||||
ITemplate template = (ITemplate) celem;
|
||||
String signature = template.getTemplateSignature();
|
||||
name.append(signature);
|
||||
break;
|
||||
default:
|
||||
name.append(celem.getElementName());
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
name.append(celem.getElementName());
|
||||
break;
|
||||
}
|
||||
|
||||
if (celem instanceof IBinary) {
|
||||
IBinary bin = (IBinary)celem;
|
||||
name.append(" - [" + bin.getCPU() + (bin.isLittleEndian() ? "le" : "be") + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
|
||||
if (celem instanceof IBinary) {
|
||||
IBinary bin = (IBinary)celem;
|
||||
name.append(" - [" + bin.getCPU() + (bin.isLittleEndian() ? "le" : "be") + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
|
||||
}
|
||||
return name.toString();
|
||||
} catch (CModelException e) {
|
||||
CUIPlugin.getDefault().log(e);
|
||||
}
|
||||
return name.toString();
|
||||
}
|
||||
return fWorkbenchLabelProvider.getText(element);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue