1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 06:32:10 +02:00

Bug 273471 - follow up fix

This commit is contained in:
Anton Leherbauer 2009-07-02 14:53:49 +00:00
parent 10107c0d8e
commit b63af6b179
2 changed files with 8 additions and 5 deletions

View file

@ -772,13 +772,15 @@ public class CModelBuilder2 implements IContributedModelBuilder {
// field
Field newElement= new Field(parent, variableName);
setIndex(newElement);
final FieldInfo fieldInfo= (FieldInfo)getElementInfo(newElement);
if (specifier instanceof ICPPASTDeclSpecifier) {
final ICPPASTDeclSpecifier cppSpecifier= (ICPPASTDeclSpecifier)specifier;
newElement.setMutable(cppSpecifier.getStorageClass() == ICPPASTDeclSpecifier.sc_mutable);
fieldInfo.setMutable(cppSpecifier.getStorageClass() == ICPPASTDeclSpecifier.sc_mutable);
}
final FieldInfo fieldInfo= (FieldInfo)getElementInfo(newElement);
fieldInfo.setTypeName(ASTStringUtil.getSignatureString(specifier, declarator));
fieldInfo.setVisibility(getCurrentVisibility());
fieldInfo.setConst(specifier.isConst());
fieldInfo.setVolatile(specifier.isVolatile());
element= newElement;
info= fieldInfo;
} else {
@ -800,11 +802,11 @@ public class CModelBuilder2 implements IContributedModelBuilder {
setIndex(element);
VariableInfo varInfo= (VariableInfo) getElementInfo(element);
varInfo.setTypeName(ASTStringUtil.getSignatureString(specifier, declarator));
varInfo.setConst(specifier.isConst());
varInfo.setVolatile(specifier.isVolatile());
info= varInfo;
}
element.setActive(declarator.isActive());
element.setConst(specifier.isConst());
element.setVolatile(specifier.isVolatile());
// TODO [cmodel] correctly resolve isStatic
element.setStatic(specifier.getStorageClass() == IASTDeclSpecifier.sc_static);
// add to parent

View file

@ -200,11 +200,12 @@ public class SourceManipulation extends Parent implements ISourceManipulation, I
return;
}
newElements.put(this, info);
CElementInfo openableParentInfo = (CElementInfo) CModelManager.getDefault().getInfo(openableParent);
if (openableParentInfo == null) {
openableParent.generateInfos(openableParent.createElementInfo(), newElements, pm);
}
newElements.put(this, info);
}
public void setPos(int startPos, int length) {