Index: courgette/assembly_program.h |
diff --git a/courgette/assembly_program.h b/courgette/assembly_program.h |
index 45658abedf5a233a6b8f28642476cb0acb2b9259..c256f8f71a05c133805a982afc85d7eef95d6580 100644 |
--- a/courgette/assembly_program.h |
+++ b/courgette/assembly_program.h |
@@ -14,7 +14,7 @@ |
#include "base/macros.h" |
#include "base/memory/scoped_ptr.h" |
-#include "courgette/disassembler.h" |
+#include "courgette/courgette.h" |
#include "courgette/image_utils.h" |
#include "courgette/label_manager.h" |
#include "courgette/memory_allocator.h" |
@@ -132,7 +132,7 @@ class AssemblyProgram { |
void UnassignIndexes(); |
void AssignRemainingIndexes(); |
- EncodedProgram* Encode() const; |
+ scoped_ptr<EncodedProgram> Encode() const; |
// Accessor for instruction list. |
const InstructionVector& instructions() const { |
@@ -191,5 +191,12 @@ class AssemblyProgram { |
DISALLOW_COPY_AND_ASSIGN(AssemblyProgram); |
}; |
+// Converts |program| into encoded form, returning it as |*output|. |
+// Returns C_OK if succeeded, otherwise returns an error status and sets |
+// |*output| to null. |
+Status Encode(const AssemblyProgram& program, |
+ scoped_ptr<EncodedProgram>* output); |
+ |
} // namespace courgette |
+ |
#endif // COURGETTE_ASSEMBLY_PROGRAM_H_ |