mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-31 12:55:40 +02:00
Bug 280417 - ArrayIndexOutOfBoundsException in MementoTokenizer causes "could not update landmark markers" error
This commit is contained in:
parent
09209e6efd
commit
c8ffa1d119
2 changed files with 18 additions and 2 deletions
|
@ -245,13 +245,16 @@ public class SourceManipulation extends Parent implements ISourceManipulation, I
|
||||||
final String elementName;
|
final String elementName;
|
||||||
if (token.charAt(0) != CEM_ELEMENTTYPE) {
|
if (token.charAt(0) != CEM_ELEMENTTYPE) {
|
||||||
elementName= token;
|
elementName= token;
|
||||||
|
if (!memento.hasMoreTokens()) return null;
|
||||||
token= memento.nextToken();
|
token= memento.nextToken();
|
||||||
} else {
|
} else {
|
||||||
// anonymous
|
// anonymous
|
||||||
elementName= ""; //$NON-NLS-1$
|
elementName= ""; //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
// element type
|
// element type
|
||||||
assert token.charAt(0) == CEM_ELEMENTTYPE;
|
if (token.charAt(0) != CEM_ELEMENTTYPE || !memento.hasMoreTokens()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
String typeString= memento.nextToken();
|
String typeString= memento.nextToken();
|
||||||
int elementType;
|
int elementType;
|
||||||
try {
|
try {
|
||||||
|
@ -270,6 +273,11 @@ public class SourceManipulation extends Parent implements ISourceManipulation, I
|
||||||
if (token.charAt(0) != CEM_PARAMETER) {
|
if (token.charAt(0) != CEM_PARAMETER) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (!memento.hasMoreTokens()) {
|
||||||
|
params.add(""); //$NON-NLS-1$
|
||||||
|
token= null;
|
||||||
|
break;
|
||||||
|
}
|
||||||
params.add(memento.nextToken());
|
params.add(memento.nextToken());
|
||||||
token= null;
|
token= null;
|
||||||
} while (memento.hasMoreTokens());
|
} while (memento.hasMoreTokens());
|
||||||
|
|
|
@ -1016,13 +1016,16 @@ public class TranslationUnit extends Openable implements ITranslationUnit {
|
||||||
final String elementName;
|
final String elementName;
|
||||||
if (token.charAt(0) != CEM_ELEMENTTYPE) {
|
if (token.charAt(0) != CEM_ELEMENTTYPE) {
|
||||||
elementName= token;
|
elementName= token;
|
||||||
|
if (!memento.hasMoreTokens()) return null;
|
||||||
token= memento.nextToken();
|
token= memento.nextToken();
|
||||||
} else {
|
} else {
|
||||||
// anonymous
|
// anonymous
|
||||||
elementName= ""; //$NON-NLS-1$
|
elementName= ""; //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
// element type
|
// element type
|
||||||
assert token.charAt(0) == CEM_ELEMENTTYPE;
|
if (token.charAt(0) != CEM_ELEMENTTYPE || !memento.hasMoreTokens()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
String typeString= memento.nextToken();
|
String typeString= memento.nextToken();
|
||||||
int elementType;
|
int elementType;
|
||||||
try {
|
try {
|
||||||
|
@ -1041,6 +1044,11 @@ public class TranslationUnit extends Openable implements ITranslationUnit {
|
||||||
if (token.charAt(0) != CEM_PARAMETER) {
|
if (token.charAt(0) != CEM_PARAMETER) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (!memento.hasMoreTokens()) {
|
||||||
|
params.add(""); //$NON-NLS-1$
|
||||||
|
token= null;
|
||||||
|
break;
|
||||||
|
}
|
||||||
params.add(memento.nextToken());
|
params.add(memento.nextToken());
|
||||||
token= null;
|
token= null;
|
||||||
} while (memento.hasMoreTokens());
|
} while (memento.hasMoreTokens());
|
||||||
|
|
Loading…
Add table
Reference in a new issue