D-Scanner/analysis/base.d

38 lines
541 B
D

module analysis.base;
import std.string;
import stdx.d.ast;
abstract class BaseAnalyzer : ASTVisitor
{
public:
this(string fileName)
{
this.fileName = fileName;
}
string[] messages()
{
return _messages;
}
protected:
import core.vararg;
void addErrorMessage(size_t line, size_t column, string message)
{
_messages ~= format("%s(%d:%d)[warn]: %s", fileName, line, column, message);
}
/**
* The file name
*/
string fileName;
/**
* Map of file names to warning messages for that file
*/
string[] _messages;
}