int classEnd = getClassEndIndex(word, classStart);
List<TypeReference> types = new LinkedList<TypeReference>();
while (classStart < classEnd) {
String className = word.substring(classStart, classEnd);
types.add(new TypeReference(valueStart + wordStart
+ classStart, valueStart + wordStart + classEnd,
className));
classStart = getClassStartIndex(word, classEnd);
classEnd = getClassEndIndex(word, classStart);
}
if (types.size() > 0) {
references = types.toArray(new TypeReference[types.size()]);
referencesWithOrigOrder = references;
}
}
} else if (tagKind == PARAM || tagKind == PROPERTY
|| tagKind == PROPERTY_READ || tagKind == PROPERTY_WRITE) {
int firstWordStart = getNonWhitespaceIndex(value, 0);
int firstWordEnd = getWhitespaceIndex(value, firstWordStart);
if (firstWordStart < firstWordEnd) {
int secondWordStart = getNonWhitespaceIndex(value, firstWordEnd);
int secondWordEnd = getWhitespaceIndex(value, secondWordStart);
if (secondWordStart < secondWordEnd) {
String firstWord = value.substring(firstWordStart,
firstWordEnd);
String secondWord = value.substring(secondWordStart,
secondWordEnd);
if (firstWord.charAt(0) == '$') {
references = new SimpleReference[2];
references[0] = new VariableReference(valueStart
+ firstWordStart, valueStart + firstWordEnd,
firstWord);
references[1] = new TypeReference(valueStart
+ secondWordStart, valueStart + secondWordEnd,
secondWord);
referencesWithOrigOrder = references;
} else if (secondWord.charAt(0) == '$') {
references = new SimpleReference[2];
references[0] = new VariableReference(valueStart
+ secondWordStart, valueStart + secondWordEnd,
secondWord);
references[1] = new TypeReference(valueStart
+ firstWordStart, valueStart + firstWordEnd,
firstWord);
referencesWithOrigOrder = new SimpleReference[2];
referencesWithOrigOrder[0] = references[1];
referencesWithOrigOrder[1] = references[0];