public InferredType addType(char[] className, boolean isDefinition, String providerId) { InferredType type = findInferredType(className); if (type == null && className.length > 0) { if (numberInferredTypes == inferredTypes.length) { System.arraycopy( inferredTypes, 0, (inferredTypes = new InferredType[numberInferredTypes * 2]), 0, numberInferredTypes); } type = inferredTypes[numberInferredTypes++] = new InferredType(className); type.inferenceProviderID = providerId; if (className.length > 2 && className[className.length - 2] == '[' && className[className.length - 1] == ']') { type.isArray = true; } inferredTypesHash.put(className, type); } if (isDefinition && type != null) type.setIsDefinition(isDefinition); return type; }
public void printInferredTypes(StringBuffer sb) { for (int i = 0; i < this.numberInferredTypes; i++) { InferredType inferredType = this.inferredTypes[i]; if (inferredType.isDefinition()) { inferredType.print(0, sb); sb.append("\n"); // $NON-NLS-1$ } } }