blob: 54f8e8c912ffc8da16072f76f76fe175271ba534 [file] [log] [blame]
/**********************************************************************
* Copyright (c) 2002,2003 Rational Software Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v0.5
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v05.html
*
* Contributors:
* IBM Rational Software - Initial API and implementation
***********************************************************************/
package org.eclipse.cdt.internal.core.parser;
import java.util.Map;
import org.eclipse.cdt.core.parser.IProblem;
/**
* @author jcamelon
*/
public abstract class BaseProblemFactory {
protected final static String PROBLEM = "IProblem : ";
protected final static String IN_FILE = " in file: ";
protected final static String ON_LINE = " on line: ";
public abstract String createMessage(int id, Map arguments, int lineNumber, char[] fileName );
public IProblem createProblem(int id, int start, int end, int line, char[] file, String message, Map arguments, boolean warn, boolean error) {
return new Problem( id, start, end, line, file, message, arguments, warn, error);
}
public boolean checkBitmask( int id, int bitmask )
{
return ( id & bitmask ) != 0;
}
protected IProblem createInternalProblem( int id, int start, int end, int line, char [] file, Map arguments, boolean warn, boolean error )
{
return createProblem( id, start, end, line, file, createInternalMessage( id, arguments, line, file), arguments, warn, error );
}
/**
* @param id
* @param arguments
* @param line
* @param file
* @return
*/
private String createInternalMessage(int id, Map arguments, int line, char[] file)
{
if( checkBitmask( id, IProblem.INTERNAL_RELATED ))
{
StringBuffer buffer = new StringBuffer();
switch( id )
{
}
return buffer.toString();
}
return null;
}
}