Browse Source

Stack compiler now correctly returns a string and not a pointer

cl-refactor
Lefteris Karapetsas 10 years ago
parent
commit
78938ac468
  1. 8
      libsolidity/CompilerStack.cpp
  2. 2
      libsolidity/CompilerStack.h
  3. 2
      test/solidityJSONInterfaceTest.cpp
  4. 4
      test/solidityNatspecJSON.cpp

8
libsolidity/CompilerStack.cpp

@ -84,7 +84,7 @@ void CompilerStack::streamAssembly(ostream& _outStream)
m_compiler->streamAssembly(_outStream);
}
std::string const* CompilerStack::getJsonDocumentation(enum DocumentationType _type)
std::string const& CompilerStack::getJsonDocumentation(enum DocumentationType _type)
{
if (!m_parseSuccessful)
BOOST_THROW_EXCEPTION(CompilerError() << errinfo_comment("Parsing was not successful."));
@ -99,13 +99,13 @@ std::string const* CompilerStack::getJsonDocumentation(enum DocumentationType _t
{
case NATSPEC_USER:
createDocIfNotThere(m_userDocumentation);
return m_userDocumentation.get();
return *m_userDocumentation;
case NATSPEC_DEV:
createDocIfNotThere(m_devDocumentation);
return m_devDocumentation.get();
return *m_devDocumentation;
case ABI_INTERFACE:
createDocIfNotThere(m_interface);
return m_interface.get();
return *m_interface;
}
BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Illegal documentation type."));

2
libsolidity/CompilerStack.h

@ -74,7 +74,7 @@ public:
/// Prerequisite: Successful call to parse or compile.
/// @param type The type of the documentation to get.
/// Can be one of 3 types defined at @c documentation_type
std::string const* getJsonDocumentation(enum DocumentationType type);
std::string const& getJsonDocumentation(enum DocumentationType type);
/// Returns the previously used scanner, useful for counting lines during error reporting.
Scanner const& getScanner() const { return *m_scanner; }

2
test/solidityJSONInterfaceTest.cpp

@ -50,7 +50,7 @@ public:
msg += *extra;
BOOST_FAIL(msg);
}
std::string generatedInterfaceString = *m_compilerStack.getJsonDocumentation(ABI_INTERFACE);
std::string generatedInterfaceString = m_compilerStack.getJsonDocumentation(ABI_INTERFACE);
Json::Value generatedInterface;
m_reader.parse(generatedInterfaceString, generatedInterface);
Json::Value expectedInterface;

4
test/solidityNatspecJSON.cpp

@ -55,9 +55,9 @@ public:
}
if (_userDocumentation)
generatedDocumentationString = *m_compilerStack.getJsonDocumentation(NATSPEC_USER);
generatedDocumentationString = m_compilerStack.getJsonDocumentation(NATSPEC_USER);
else
generatedDocumentationString = *m_compilerStack.getJsonDocumentation(NATSPEC_DEV);
generatedDocumentationString = m_compilerStack.getJsonDocumentation(NATSPEC_DEV);
Json::Value generatedDocumentation;
m_reader.parse(generatedDocumentationString, generatedDocumentation);
Json::Value expectedDocumentation;

Loading…
Cancel
Save