1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
#include "PHPEntityFunctionAlias.h"
#include "PHPEntityFunction.h"
#include "PHPLookupTable.h"
#include "file_logger.h"
PHPEntityFunctionAlias::PHPEntityFunctionAlias() {}
PHPEntityFunctionAlias::~PHPEntityFunctionAlias() {}
bool PHPEntityFunctionAlias::Is(eEntityType type) const { return type == kEntityTypeFunctionAlias; }
void PHPEntityFunctionAlias::FromResultSet(wxSQLite3ResultSet& res)
{
SetDbId(res.GetInt("ID"));
SetShortName(res.GetString("NAME"));
SetRealname(res.GetString("REALNAME"));
SetLine(res.GetInt("LINE_NUMBER"));
SetFilename(res.GetString("FILE_NAME"));
SetFullName(res.GetString("FULLNAME"));
SetScope(res.GetString("SCOPE"));
}
void PHPEntityFunctionAlias::Store(PHPLookupTable* lookup)
{
try {
wxSQLite3Database& db = lookup->Database();
wxSQLite3Statement statement = db.PrepareStatement(
"INSERT OR REPLACE INTO FUNCTION_ALIAS_TABLE VALUES(NULL, :SCOPE_ID, :NAME, :REALNAME, :FULLNAME, :SCOPE, "
":LINE_NUMBER, :FILE_NAME)");
statement.Bind(statement.GetParamIndex(":SCOPE_ID"), Parent()->GetDbId());
statement.Bind(statement.GetParamIndex(":NAME"), GetShortName());
statement.Bind(statement.GetParamIndex(":REALNAME"), GetRealname());
statement.Bind(statement.GetParamIndex(":FULLNAME"), GetFullName());
statement.Bind(statement.GetParamIndex(":SCOPE"), GetScope());
statement.Bind(statement.GetParamIndex(":LINE_NUMBER"), GetLine());
statement.Bind(statement.GetParamIndex(":FILE_NAME"), GetFilename().GetFullPath());
statement.ExecuteUpdate();
SetDbId(db.GetLastRowId());
} catch(wxSQLite3Exception& exc) {
clWARNING() << "PHPEntityFunctionAlias::Store:" << exc.GetMessage() << endl;
}
}
wxString PHPEntityFunctionAlias::FormatPhpDoc(const CommentConfigData& data) const
{
if(m_func) {
return m_func->FormatPhpDoc(data);
}
return "";
}
wxString PHPEntityFunctionAlias::GetDisplayName() const { return GetShortName(); }
void PHPEntityFunctionAlias::PrintStdout(int indent) const { wxUnusedVar(indent); }
wxString PHPEntityFunctionAlias::Type() const
{
if(m_func) {
return m_func->Type();
}
return "";
}
void PHPEntityFunctionAlias::FromJSON(const JSONItem& json)
{
BaseFromJSON(json);
m_realname = json.namedObject("realName").toString();
m_scope = json.namedObject("scope").toString();
if(json.hasNamedObject("func")) {
JSONItem func = json.namedObject("func");
m_func.Reset(new PHPEntityFunction());
m_func->FromJSON(func);
}
}
JSONItem PHPEntityFunctionAlias::ToJSON() const
{
JSONItem json = BaseToJSON("a");
json.addProperty("realName", m_realname);
json.addProperty("scope", m_scope);
if(m_func) {
JSONItem func = m_func->ToJSON();
json.addProperty("func", func);
}
return json;
}
|