Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/SourceManipulation.java10
-rw-r--r--core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java10
2 files changed, 18 insertions, 2 deletions
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/SourceManipulation.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/SourceManipulation.java
index d0c288723fc..389bb1f97f0 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/SourceManipulation.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/SourceManipulation.java
@@ -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());
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java
index 4cc093cd25e..f3b588da3e1 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java
@@ -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());

Back to the top