From 09fd1318d0ee26491833c1744d3ca2af9b58d738 Mon Sep 17 00:00:00 2001 From: John Camelon Date: Tue, 18 May 2004 18:14:09 +0000 Subject: [PATCH] Removed extraneous TokenDuple object creation. --- .../internal/core/parser/ExpressionParser.java | 2 +- .../internal/core/parser/token/TokenDuple.java | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ExpressionParser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ExpressionParser.java index b2487c36a37..5dc688b15a6 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ExpressionParser.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ExpressionParser.java @@ -1679,7 +1679,7 @@ public class ExpressionParser implements IExpressionParser, IParserData { { String signature = "";//$NON-NLS-1$ if( start != null && lastToken != null ) - signature = new TokenDuple( start, lastToken ).toString(); + signature = TokenDuple.createStringRepresentation(start, lastToken); return astFactory.createTypeId( scope, kind, isConst, isVolatile, isShort, isLong, isSigned, isUnsigned, isTypename, name, id.getPointerOperators(), id.getArrayModifiers(), signature); } catch (ASTSemanticException e) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/token/TokenDuple.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/token/TokenDuple.java index b6a12f01c41..8eba6296a2d 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/token/TokenDuple.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/token/TokenDuple.java @@ -191,6 +191,7 @@ public class TokenDuple implements ITokenDuple { private static final Integer LBRACKET = new Integer( IToken.tLBRACKET ); private static final Integer LPAREN = new Integer( IToken.tLPAREN ); private String [] qualifiedName = null; + private static final String EMPTY_STRING = ""; //$NON-NLS-1$ public IToken consumeTemplateIdArguments( IToken name, Iterator iter ){ IToken token = name; @@ -267,11 +268,11 @@ public class TokenDuple implements ITokenDuple { } - public String toString() + public static String createStringRepresentation( IToken f, IToken l) { StringBuffer buff = new StringBuffer(); IToken prev = null; - IToken iter = firstToken; + IToken iter = f; for( ; ; ) { if( prev != null && @@ -285,13 +286,19 @@ public class TokenDuple implements ITokenDuple { iter.getType() != IToken.tCOLONCOLON ) buff.append( ' '); - + if( iter == null ) return EMPTY_STRING; buff.append( iter.getImage() ); - if( iter == lastToken ) break; + if( iter == l ) break; prev = iter; iter = iter.getNext(); } - return buff.toString().trim(); + return buff.toString(); + + } + + public String toString() + { + return createStringRepresentation(firstToken, lastToken); } public boolean isIdentifier() @@ -533,4 +540,5 @@ public class TokenDuple implements ITokenDuple { qualifiedName = (String[]) qn.toArray( qualifiedName ); } + }