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:
parent
f9b6ff9584
commit
b08d93dfd7
3 changed files with 11 additions and 4 deletions
|
@ -21,6 +21,7 @@ public interface IASTReference extends ISourceElementCallbackDelegate
|
||||||
|
|
||||||
public int getOffset();
|
public int getOffset();
|
||||||
public String getName();
|
public String getName();
|
||||||
|
public char[] getNameCharArray();
|
||||||
public ISourceElementCallbackDelegate getReferencedElement();
|
public ISourceElementCallbackDelegate getReferencedElement();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -169,7 +169,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
||||||
while (i.hasNext()){
|
while (i.hasNext()){
|
||||||
IASTReference ref = (IASTReference)i.next();
|
IASTReference ref = (IASTReference)i.next();
|
||||||
if (ref != null){
|
if (ref != null){
|
||||||
if( (ref.getName().equals(reference.getName()))
|
if( (CharArrayUtils.equals( ref.getNameCharArray(), reference.getNameCharArray()))
|
||||||
&& (ref.getOffset() == reference.getOffset())
|
&& (ref.getOffset() == reference.getOffset())
|
||||||
){
|
){
|
||||||
cache.returnReference( ref );
|
cache.returnReference( ref );
|
||||||
|
@ -1120,7 +1120,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
||||||
ITokenDuple idExpression, char[] literal, IASTNewExpressionDescriptor newDescriptor) throws ASTSemanticException
|
ITokenDuple idExpression, char[] literal, IASTNewExpressionDescriptor newDescriptor) throws ASTSemanticException
|
||||||
{
|
{
|
||||||
setFilename( idExpression );
|
setFilename( idExpression );
|
||||||
if( idExpression != null )
|
if( idExpression != null && logService.isTracing() )
|
||||||
{
|
{
|
||||||
TraceUtil.outputTrace(
|
TraceUtil.outputTrace(
|
||||||
logService,
|
logService,
|
||||||
|
@ -1131,7 +1131,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
||||||
idExpression.toString()
|
idExpression.toString()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if( literal != null && literal.length > 0 )
|
else if( literal != null && literal.length > 0 && logService.isTracing() )
|
||||||
{
|
{
|
||||||
TraceUtil.outputTrace(
|
TraceUtil.outputTrace(
|
||||||
logService,
|
logService,
|
||||||
|
|
|
@ -638,6 +638,7 @@ public class ReferenceCache implements IReferenceManager {
|
||||||
public abstract static class ASTReference implements IASTReference {
|
public abstract static class ASTReference implements IASTReference {
|
||||||
protected int offset;
|
protected int offset;
|
||||||
private static final String EMPTY_STRING = ""; //$NON-NLS-1$
|
private static final String EMPTY_STRING = ""; //$NON-NLS-1$
|
||||||
|
private static final char[] EMPTY_CHAR_ARRAY = "".toCharArray(); //$NON-NLS-1$
|
||||||
|
|
||||||
public abstract void reset();
|
public abstract void reset();
|
||||||
|
|
||||||
|
@ -681,7 +682,12 @@ public class ReferenceCache implements IReferenceManager {
|
||||||
.getName();
|
.getName();
|
||||||
return EMPTY_STRING;
|
return EMPTY_STRING;
|
||||||
}
|
}
|
||||||
|
public char[] getNameCharArray() {
|
||||||
|
if (getReferencedElement() instanceof IASTOffsetableNamedElement)
|
||||||
|
return ((IASTOffsetableNamedElement) getReferencedElement())
|
||||||
|
.getNameCharArray();
|
||||||
|
return EMPTY_CHAR_ARRAY;
|
||||||
|
}
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if (obj == null)
|
if (obj == null)
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Add table
Reference in a new issue