* <li> Variable declarations with initializer expression, e.g., <code>int local=1</code>
* </ul>
*/
protected void initDataType() {
// if (getDataType() == null) {
Type declType = null;
if (getASTNode() instanceof SingleVariableDeclaration) {
SingleVariableDeclaration singleVarDecl = (SingleVariableDeclaration) getASTNode();
declType = singleVarDecl.getType();
} else {
ASTNode parentNode = getASTNode().getParent();
if (parentNode instanceof VariableDeclarationExpression) {
VariableDeclarationExpression varDeclExpression = (VariableDeclarationExpression) parentNode;
declType = varDeclExpression.getType();
} else if (parentNode instanceof VariableDeclarationStatement) {
VariableDeclarationStatement varDeclStatement = (VariableDeclarationStatement) parentNode;
declType = varDeclStatement.getType();
} else {
sLogger.warn("Parent of this variable declaration statement currently not supported " + getASTNode());
}
}
ITypeBinding lTypeBinding = null;
if (declType != null) {
lTypeBinding = declType.resolveBinding();
}
FamixClass lDataType = getClass(lTypeBinding, declType, false);
lDataType = (FamixClass) getModel().addElement(lDataType);
setDataType(lDataType);
}