sencha-lang/Sencha-lang/Elements/SenchaArray.cpp

65 lines
1.4 KiB
C++

/*
* SenchaArray.cpp
*
* Created on: Jan 10, 2013
* Author: att
*/
#include "SenchaArray.h"
SenchaArray::SenchaArray(std::string name, Context * context) {
// TODO Auto-generated constructor stub
max_index = 0;
this->context = context;
this->name = name;
context->add(name, SenchaObject());
}
SenchaArray::~SenchaArray() {
// TODO Auto-generated destructor stub
}
SenchaArray::SenchaArray(std::string name, Context * context, std::string text)
{
max_index = 0;
this->context = context;
this->name = name;
for(unsigned int i = 0; i < text.size(); i++)
{
SenchaObject temp;
std::string letter_string = text.substr(i, 1) ;
temp.text = letter_string;
temp.type = SenchaObject::string_literal;
context->add("_" + name+ "_" + to_string(i), temp);
//objects.push_back(temp);
}
max_index = text.size();
//context->add(name, SenchaObject(text));
}
SenchaObject SenchaArray::get(IndexNumber index)
{
SenchaObject result = context->get("_" + name +"_" +to_string(index));
result.name = "_" + name + "_" + to_string(index);
return result;
//return objects[index];
}
SenchaArray::IndexNumber SenchaArray::add(SenchaObject value)
{
context->add("_" + name+ "_" + to_string(max_index), value);
max_index++;
//objects.push_back(value);
max_index = objects.size();
return max_index;
}
void SenchaArray::set(IndexNumber index, SenchaObject value)
{
//objects[index] = value;
context->add("_" + name +"_" +to_string(index), value);
}