if (extendsOrSuper != null) extendsOrSuper = extendsOrSuper.trim();
WildcardKind wildcard = WildcardKind.UNBOUND;
if ("extends".equalsIgnoreCase(extendsOrSuper)) wildcard = WildcardKind.EXTENDS;
if ("super".equalsIgnoreCase(extendsOrSuper)) wildcard = WildcardKind.SUPER;
TypeReference ref;
if (!(type instanceof TypeReference)) {
ref = new TypeReference();
DanglingNodes.addDanglingNode(ref, type);
} else {
ref = (TypeReference)type;
}
ref.astWildcard(wildcard);
source.registerStructure(ref, qmark);
for (org.parboiled.Node<Node> childPNode : boundType.getChildren()) {
if (childPNode != null) source.registerStructure(ref, childPNode);
}
return posify(ref);