mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-07 17:56:01 +02:00
Bug 273471 - follow up fix
This commit is contained in:
parent
10107c0d8e
commit
b63af6b179
2 changed files with 8 additions and 5 deletions
|
@ -772,13 +772,15 @@ public class CModelBuilder2 implements IContributedModelBuilder {
|
||||||
// field
|
// field
|
||||||
Field newElement= new Field(parent, variableName);
|
Field newElement= new Field(parent, variableName);
|
||||||
setIndex(newElement);
|
setIndex(newElement);
|
||||||
|
final FieldInfo fieldInfo= (FieldInfo)getElementInfo(newElement);
|
||||||
if (specifier instanceof ICPPASTDeclSpecifier) {
|
if (specifier instanceof ICPPASTDeclSpecifier) {
|
||||||
final ICPPASTDeclSpecifier cppSpecifier= (ICPPASTDeclSpecifier)specifier;
|
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.setTypeName(ASTStringUtil.getSignatureString(specifier, declarator));
|
||||||
fieldInfo.setVisibility(getCurrentVisibility());
|
fieldInfo.setVisibility(getCurrentVisibility());
|
||||||
|
fieldInfo.setConst(specifier.isConst());
|
||||||
|
fieldInfo.setVolatile(specifier.isVolatile());
|
||||||
element= newElement;
|
element= newElement;
|
||||||
info= fieldInfo;
|
info= fieldInfo;
|
||||||
} else {
|
} else {
|
||||||
|
@ -800,11 +802,11 @@ public class CModelBuilder2 implements IContributedModelBuilder {
|
||||||
setIndex(element);
|
setIndex(element);
|
||||||
VariableInfo varInfo= (VariableInfo) getElementInfo(element);
|
VariableInfo varInfo= (VariableInfo) getElementInfo(element);
|
||||||
varInfo.setTypeName(ASTStringUtil.getSignatureString(specifier, declarator));
|
varInfo.setTypeName(ASTStringUtil.getSignatureString(specifier, declarator));
|
||||||
|
varInfo.setConst(specifier.isConst());
|
||||||
|
varInfo.setVolatile(specifier.isVolatile());
|
||||||
info= varInfo;
|
info= varInfo;
|
||||||
}
|
}
|
||||||
element.setActive(declarator.isActive());
|
element.setActive(declarator.isActive());
|
||||||
element.setConst(specifier.isConst());
|
|
||||||
element.setVolatile(specifier.isVolatile());
|
|
||||||
// TODO [cmodel] correctly resolve isStatic
|
// TODO [cmodel] correctly resolve isStatic
|
||||||
element.setStatic(specifier.getStorageClass() == IASTDeclSpecifier.sc_static);
|
element.setStatic(specifier.getStorageClass() == IASTDeclSpecifier.sc_static);
|
||||||
// add to parent
|
// add to parent
|
||||||
|
|
|
@ -200,11 +200,12 @@ public class SourceManipulation extends Parent implements ISourceManipulation, I
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
newElements.put(this, info);
|
||||||
|
|
||||||
CElementInfo openableParentInfo = (CElementInfo) CModelManager.getDefault().getInfo(openableParent);
|
CElementInfo openableParentInfo = (CElementInfo) CModelManager.getDefault().getInfo(openableParent);
|
||||||
if (openableParentInfo == null) {
|
if (openableParentInfo == null) {
|
||||||
openableParent.generateInfos(openableParent.createElementInfo(), newElements, pm);
|
openableParent.generateInfos(openableParent.createElementInfo(), newElements, pm);
|
||||||
}
|
}
|
||||||
newElements.put(this, info);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPos(int startPos, int length) {
|
public void setPos(int startPos, int length) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue