mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Fix a few NPE's.
This commit is contained in:
parent
5e29d237f6
commit
c827e9e543
3 changed files with 22 additions and 3 deletions
|
@ -1355,7 +1355,8 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
* that has a lhs and a rhs as indicated in the specs (section 5.Expressions, page 64)
|
||||
*/
|
||||
protected ITypeInfo usualArithmeticConversions( IASTScope scope, ITypeInfo lhs, ITypeInfo rhs) throws ASTSemanticException{
|
||||
|
||||
if( lhs == null ) return null;
|
||||
if( rhs == null ) return null;
|
||||
// if you have a variable of type basic type, then we need to go to the basic type first
|
||||
while( (lhs.getType() == ITypeInfo.t_type) && (lhs.getTypeSymbol() != null)){
|
||||
lhs = lhs.getTypeSymbol().getTypeInfo();
|
||||
|
|
|
@ -82,7 +82,7 @@ public class Scanner2 implements IScanner, IScannerData {
|
|||
private ISourceElementRequestor requestor;
|
||||
|
||||
private ParserLanguage language;
|
||||
protected IParserLogService log;
|
||||
private IParserLogService log;
|
||||
private IScannerExtension scannerExtension;
|
||||
|
||||
private CharArrayObjectMap definitions = new CharArrayObjectMap(512);
|
||||
|
@ -207,13 +207,30 @@ public class Scanner2 implements IScanner, IScannerData {
|
|||
pushContext(buffer);
|
||||
bufferData[bufferStackPos] = data;
|
||||
if( data instanceof InclusionData )
|
||||
requestor.enterInclusion( ((InclusionData)data).inclusion );
|
||||
{
|
||||
requestor.enterInclusion( ((InclusionData)data).inclusion );
|
||||
if( log.isTracing() )
|
||||
{
|
||||
StringBuffer b = new StringBuffer( "Entering inclusion "); //$NON-NLS-1$
|
||||
b.append( ((InclusionData)data).reader.filename );
|
||||
log.traceLog( b.toString() );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void popContext() {
|
||||
bufferStack[bufferStackPos] = null;
|
||||
if( bufferData[bufferStackPos] instanceof InclusionData )
|
||||
{
|
||||
if( log.isTracing() )
|
||||
{
|
||||
StringBuffer buffer = new StringBuffer( "Exiting inclusion "); //$NON-NLS-1$
|
||||
buffer.append( ((InclusionData)bufferData[bufferStackPos]).reader.filename );
|
||||
log.traceLog( buffer.toString() );
|
||||
}
|
||||
requestor.exitInclusion( ((InclusionData)bufferData[bufferStackPos]).inclusion );
|
||||
}
|
||||
bufferData[bufferStackPos] = null;
|
||||
bufferLineNums[bufferStackPos] = 1;
|
||||
--bufferStackPos;
|
||||
|
|
|
@ -74,6 +74,7 @@ public class TokenFactory {
|
|||
}
|
||||
|
||||
public static ITokenDuple createTokenDuple( ITokenDuple firstDuple, ITokenDuple secondDuple ){
|
||||
if( secondDuple == null ) return firstDuple;
|
||||
List [] f1 = firstDuple.getTemplateIdArgLists();
|
||||
List [] f2 = secondDuple.getTemplateIdArgLists();
|
||||
if( f1 == null && f2 == null )
|
||||
|
|
Loading…
Add table
Reference in a new issue