FunctionDef f = (FunctionDef) element;
final argumentsType args = f.args;
for (int i = 0; i < args.args.length; i++) {
String s = NodeUtils.getRepresentationString(args.args[i]);
comps.add(new SourceToken(args.args[i], s, "", "", "", IToken.TYPE_PARAM));
}
if (args.vararg != null) {
String s = NodeUtils.getRepresentationString(args.vararg);
comps.add(new SourceToken(args.vararg, s, "", "", "", IToken.TYPE_PARAM));
}
if (args.kwarg != null) {
String s = NodeUtils.getRepresentationString(args.kwarg);
comps.add(new SourceToken(args.kwarg, s, "", "", "", IToken.TYPE_PARAM));
}
if (args.kwonlyargs != null) {
for (int i = 0; i < args.kwonlyargs.length; i++) {
String s = NodeUtils.getRepresentationString(args.kwonlyargs[i]);
comps.add(new SourceToken(args.kwonlyargs[i], s, "", "", "", IToken.TYPE_PARAM));
}
}
if (onlyArgs) {
continue;
}
body = f.body;
}
else if (element instanceof ClassDef && !iter.hasNext()) {
ClassDef classDef = (ClassDef) element;
body = classDef.body;
}
if (body != null) {
try {
for (int i = 0; i < body.length; i++) {
GlobalModelVisitor visitor = new GlobalModelVisitor(GlobalModelVisitor.GLOBAL_TOKENS, "",
false, true);
stmtType stmt = body[i];
if (stmt == null) {
continue;
}
stmt.accept(visitor);
List<IToken> t = visitor.tokens;
for (Iterator<IToken> iterator = t.iterator(); iterator.hasNext();) {
SourceToken tok = (SourceToken) iterator.next();
//if it is found here, it is a local type
tok.type = IToken.TYPE_LOCAL;
if (tok.getAst().beginLine <= endLine) {
comps.add(tok);
}
}
}