1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

last of string to char[] changes

This commit is contained in:
Andrew Niefer 2004-07-27 18:13:49 +00:00
parent f9b6ff9584
commit b08d93dfd7
3 changed files with 11 additions and 4 deletions

View file

@ -21,6 +21,7 @@ public interface IASTReference extends ISourceElementCallbackDelegate
public int getOffset();
public String getName();
public char[] getNameCharArray();
public ISourceElementCallbackDelegate getReferencedElement();
}

View file

@ -169,7 +169,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
while (i.hasNext()){
IASTReference ref = (IASTReference)i.next();
if (ref != null){
if( (ref.getName().equals(reference.getName()))
if( (CharArrayUtils.equals( ref.getNameCharArray(), reference.getNameCharArray()))
&& (ref.getOffset() == reference.getOffset())
){
cache.returnReference( ref );
@ -1120,7 +1120,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
ITokenDuple idExpression, char[] literal, IASTNewExpressionDescriptor newDescriptor) throws ASTSemanticException
{
setFilename( idExpression );
if( idExpression != null )
if( idExpression != null && logService.isTracing() )
{
TraceUtil.outputTrace(
logService,
@ -1131,7 +1131,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
idExpression.toString()
);
}
else if( literal != null && literal.length > 0 )
else if( literal != null && literal.length > 0 && logService.isTracing() )
{
TraceUtil.outputTrace(
logService,

View file

@ -638,6 +638,7 @@ public class ReferenceCache implements IReferenceManager {
public abstract static class ASTReference implements IASTReference {
protected int offset;
private static final String EMPTY_STRING = ""; //$NON-NLS-1$
private static final char[] EMPTY_CHAR_ARRAY = "".toCharArray(); //$NON-NLS-1$
public abstract void reset();
@ -681,7 +682,12 @@ public class ReferenceCache implements IReferenceManager {
.getName();
return EMPTY_STRING;
}
public char[] getNameCharArray() {
if (getReferencedElement() instanceof IASTOffsetableNamedElement)
return ((IASTOffsetableNamedElement) getReferencedElement())
.getNameCharArray();
return EMPTY_CHAR_ARRAY;
}
public boolean equals(Object obj) {
if (obj == null)
return false;