fASTRoot = root;
fProblems = getProblems(root);
typeDeclarationName = null;
isMethod = false;
PHPVersion phpVersion = PHPVersion.PHP5_4;
if (root.getSourceModule().getScriptProject() != null
&& root.getSourceModule().getScriptProject().getProject() != null) {
phpVersion = ProjectOptions.getPhpVersion(root.getSourceModule()
.getScriptProject().getProject());
}
if (node.getType() == ASTNode.IDENTIFIER) {
Identifier identifier = (Identifier) node;
classMemberName = identifier.getName();
ASTNode parent = identifier.getParent();
int type = parent.getType();
isMethod = type == ASTNode.FUNCTION_DECLARATION
|| parent.getLocationInParent() == FunctionName.NAME_PROPERTY
|| parent.getLocationInParent() == FunctionInvocation.FUNCTION_PROPERTY
|| type == ASTNode.FULLY_QUALIFIED_TRAIT_METHOD_REFERENCE
|| type == ASTNode.TRAIT_ALIAS;
dispatcherType = resolveDispatcherType(identifier);
if (dispatcherType != null
&& phpVersion.isGreaterThan(PHPVersion.PHP5_3)) {
String memberName = getRealName(identifier);
// if (dispatcherType.isTrait()) {
// traitList = new LinkedList<IType>();
// traitList.add((IType) dispatcherType.getPHPElement());
// } else {