IReference[] references = classDefinition
.getImplementedInterfaceReferences();
for (IReference iReference : references)
{
ITypeDefinition type = (ITypeDefinition) iReference
.resolve(project, (ASScope) classDefinition
.getContainingScope(),
DependencyType.INHERITANCE, true);
emitImplements(type, type.getPackageName());
}
}
else
{
String ns = node.getNamespace();
if (ns != null)
{
begin();
emitMethodAccess(node);
hasDoc = true;
}
}
// @param
IParameterNode[] parameters = node.getParameterNodes();
for (IParameterNode pnode : parameters)
{
if (!hasDoc)
{
begin();
emitMethodAccess(node);
hasDoc = true;
}
IExpressionNode enode = pnode.getNameExpressionNode();
emitParam(pnode, enode.resolveType(project).getPackageName());
}
if (!node.isConstructor())
{
// @return
String returnType = node.getReturnType();
if (returnType != ""
&& returnType != ASEmitterTokens.VOID.getToken())
{
if (!hasDoc)
{
begin();
emitMethodAccess(node);
hasDoc = true;
}
ITypeDefinition tdef = ((IFunctionDefinition)node.getDefinition())
.resolveReturnType(project);
String packageName = "";
if (tdef instanceof InterfaceDefinition)
packageName = tdef.getPackageName();
else
packageName = node.getPackageName();
emitReturn(node, packageName);
}