Skip to content

Commit

Permalink
Fixes refactoring inssues and typenames in visitors
Browse files Browse the repository at this point in the history
Issue: #32
  • Loading branch information
0x7CFE committed Mar 23, 2014
1 parent 5d23c86 commit 94ec2f2
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions include/instructions.h
Original file line number Diff line number Diff line change
Expand Up @@ -195,8 +195,6 @@ class ParsedMethod : public ParsedBytecode {
parse();
}

TMethod* getOrigin() const { return m_origin; }

protected:
virtual void parseBlock(uint16_t startOffset, uint16_t stopOffset);

Expand All @@ -212,7 +210,8 @@ class ParsedMethod : public ParsedBytecode {
class ParsedBlock : public ParsedBytecode {
public:
ParsedBlock(ParsedMethod* parsedMethod, uint16_t startOffset, uint16_t stopOffset)
: ParsedBytecode(parsedMethod->getOrigin()), m_startOffset(startOffset), m_stopOffset(stopOffset)
: ParsedBytecode(parsedMethod->getOrigin()), m_containerMethod(parsedMethod),
m_startOffset(startOffset), m_stopOffset(stopOffset)
{
parse(startOffset, stopOffset);
}
Expand All @@ -237,14 +236,14 @@ class ParsedBlock : public ParsedBytecode {

class BasicBlockVisitor {
public:
BasicBlockVisitor(ParsedMethod* parsedMethod) : m_parsedMethod(parsedMethod) { }
BasicBlockVisitor(ParsedBytecode* parsedBytecode) : m_parsedBytecode(parsedBytecode) { }
virtual ~BasicBlockVisitor() { }

virtual bool visitBlock(BasicBlock& basicBlock) { return true; }

void run() {
ParsedMethod::iterator iBlock = m_parsedMethod->begin();
const ParsedMethod::iterator iEnd = m_parsedMethod->end();
ParsedBytecode::iterator iBlock = m_parsedBytecode->begin();
const ParsedBytecode::iterator iEnd = m_parsedBytecode->end();

while (iBlock != iEnd) {
if (! visitBlock(** iBlock))
Expand All @@ -255,12 +254,12 @@ class BasicBlockVisitor {
}

private:
ParsedMethod* m_parsedMethod;
ParsedBytecode* m_parsedBytecode;
};

class InstructionVisitor : public BasicBlockVisitor {
public:
InstructionVisitor(ParsedMethod* parsedMethod) : BasicBlockVisitor(parsedMethod) { }
InstructionVisitor(ParsedBytecode* parsedBytecode) : BasicBlockVisitor(parsedBytecode) { }
virtual bool visitInstruction(const TSmalltalkInstruction& instruction) { return true; }

protected:
Expand Down

0 comments on commit 94ec2f2

Please sign in to comment.