mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-30 12:25:35 +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;
|
||||
if (token.charAt(0) != CEM_ELEMENTTYPE) {
|
||||
elementName= token;
|
||||
if (!memento.hasMoreTokens()) return null;
|
||||
token= memento.nextToken();
|
||||
} else {
|
||||
// anonymous
|
||||
elementName= ""; //$NON-NLS-1$
|
||||
}
|
||||
// element type
|
||||
assert token.charAt(0) == CEM_ELEMENTTYPE;
|
||||
if (token.charAt(0) != CEM_ELEMENTTYPE || !memento.hasMoreTokens()) {
|
||||
return null;
|
||||
}
|
||||
String typeString= memento.nextToken();
|
||||
int elementType;
|
||||
try {
|
||||
|
@ -270,6 +273,11 @@ public class SourceManipulation extends Parent implements ISourceManipulation, I
|
|||
if (token.charAt(0) != CEM_PARAMETER) {
|
||||
break;
|
||||
}
|
||||
if (!memento.hasMoreTokens()) {
|
||||
params.add(""); //$NON-NLS-1$
|
||||
token= null;
|
||||
break;
|
||||
}
|
||||
params.add(memento.nextToken());
|
||||
token= null;
|
||||
} while (memento.hasMoreTokens());
|
||||
|
|
|
@ -1016,13 +1016,16 @@ public class TranslationUnit extends Openable implements ITranslationUnit {
|
|||
final String elementName;
|
||||
if (token.charAt(0) != CEM_ELEMENTTYPE) {
|
||||
elementName= token;
|
||||
if (!memento.hasMoreTokens()) return null;
|
||||
token= memento.nextToken();
|
||||
} else {
|
||||
// anonymous
|
||||
elementName= ""; //$NON-NLS-1$
|
||||
}
|
||||
// element type
|
||||
assert token.charAt(0) == CEM_ELEMENTTYPE;
|
||||
if (token.charAt(0) != CEM_ELEMENTTYPE || !memento.hasMoreTokens()) {
|
||||
return null;
|
||||
}
|
||||
String typeString= memento.nextToken();
|
||||
int elementType;
|
||||
try {
|
||||
|
@ -1041,6 +1044,11 @@ public class TranslationUnit extends Openable implements ITranslationUnit {
|
|||
if (token.charAt(0) != CEM_PARAMETER) {
|
||||
break;
|
||||
}
|
||||
if (!memento.hasMoreTokens()) {
|
||||
params.add(""); //$NON-NLS-1$
|
||||
token= null;
|
||||
break;
|
||||
}
|
||||
params.add(memento.nextToken());
|
||||
token= null;
|
||||
} while (memento.hasMoreTokens());
|
||||
|
|
Loading…
Add table
Reference in a new issue