aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorF. Eugene Aumson <gene@aumson.org>2018-09-18 05:27:33 +0800
committerF. Eugene Aumson <gene@aumson.org>2018-09-18 07:31:32 +0800
commit9201273939598a13ed00084acdb384403c36fcc4 (patch)
tree983990d2f71519f7a332f9e0199f7f40bee8bdd8
parent5b07669bd0e128a92c8a71d797ac95d77337209b (diff)
downloaddexon-sol-tools-9201273939598a13ed00084acdb384403c36fcc4.tar.gz
dexon-sol-tools-9201273939598a13ed00084acdb384403c36fcc4.tar.zst
dexon-sol-tools-9201273939598a13ed00084acdb384403c36fcc4.zip
add and test support for return comment
-rw-r--r--packages/sol-doc/src/solidity_doc_generator.ts6
-rw-r--r--packages/sol-doc/test/solidity_doc_generator_test.ts6
2 files changed, 12 insertions, 0 deletions
diff --git a/packages/sol-doc/src/solidity_doc_generator.ts b/packages/sol-doc/src/solidity_doc_generator.ts
index 3501e9a52..e0dcb692a 100644
--- a/packages/sol-doc/src/solidity_doc_generator.ts
+++ b/packages/sol-doc/src/solidity_doc_generator.ts
@@ -176,6 +176,11 @@ function _genMethodDoc(
? { name: '', typeDocType: TypeDocTypes.Intrinsic }
: _genMethodReturnTypeDoc(abiDefinition.outputs, methodSignature, devdocIfExists);
+ const returnComment =
+ _.isUndefined(devdocIfExists) || _.isUndefined(devdocIfExists.methods[methodSignature])
+ ? undefined
+ : devdocIfExists.methods[methodSignature].return;
+
const isConstant = abiDefinition.type === 'fallback' ? true : abiDefinition.constant;
// TODO: determine whether fallback functions are always constant, as coded just above
@@ -185,6 +190,7 @@ function _genMethodDoc(
callPath: '', // TODO: wtf is this?
parameters,
returnType,
+ returnComment,
isConstant,
isPayable: abiDefinition.payable,
comment,
diff --git a/packages/sol-doc/test/solidity_doc_generator_test.ts b/packages/sol-doc/test/solidity_doc_generator_test.ts
index bae67001b..23ffe7b9e 100644
--- a/packages/sol-doc/test/solidity_doc_generator_test.ts
+++ b/packages/sol-doc/test/solidity_doc_generator_test.ts
@@ -84,6 +84,9 @@ describe('#SolidityDocGenerator', () => {
it('return type name', () => {
expect(methodDoc.returnType.name).to.equal('r');
});
+ it('return comment', () => {
+ expect(methodDoc.returnComment).to.equal('publicMethod @return');
+ });
});
describe('should emit external method documentation for', () => {
let methodDoc: SolidityMethod;
@@ -111,6 +114,9 @@ describe('#SolidityDocGenerator', () => {
it('return type name', () => {
expect(methodDoc.returnType.name).to.equal('r');
});
+ it('return comment', () => {
+ expect(methodDoc.returnComment).to.equal('externalMethod @return');
+ });
});
it('should not truncate a multi-line devdoc comment', () => {
// tslint:disable-next-line:no-unnecessary-type-assertion