mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
95 lines
2.2 KiB
Solidity
95 lines
2.2 KiB
Solidity
// SPDX-License-Identifier: UNLICENSED
|
|
pragma solidity >=0.8.0;
|
|
|
|
/// Documenting another contract here.
|
|
contract AnotherContract {}
|
|
|
|
/// User being documented.
|
|
contract User
|
|
{
|
|
/// Some enum value.
|
|
enum SomeEnum
|
|
{
|
|
Red,
|
|
Blue
|
|
}
|
|
|
|
/// publicVariable being documented.
|
|
SomeEnum public publicVariable;
|
|
// ^ @Cursor1
|
|
// ^^^^^^^^ @Cursor1Range
|
|
|
|
// not documented
|
|
mapping(int => User.SomeEnum) someRemapping;
|
|
// ^ @Cursor2
|
|
// ^^^^^^^^ @Cursor2Range
|
|
|
|
/// Documenting the setContract().
|
|
function setValue(User.SomeEnum _value) public
|
|
// ^ @Cursor3
|
|
// ^^^^ @Cursor3Range
|
|
{
|
|
publicVariable = _value;
|
|
// ^ @Cursor4
|
|
// ^^^^^^^^^^^^^^ @Cursor4Range
|
|
}
|
|
|
|
function createAnotherContract() public returns (AnotherContract)
|
|
{
|
|
return new AnotherContract();
|
|
// ^ @Cursor5
|
|
// ^^^^^^^^^^^^^^^ @Cursor5Range
|
|
}
|
|
}
|
|
// ----
|
|
// -> textDocument/hover {
|
|
// "position": @Cursor1
|
|
// }
|
|
// <- {
|
|
// "contents": {
|
|
// "kind": "markdown",
|
|
// "value": "```solidity\ntype(enum User.SomeEnum)\n```\n\n"
|
|
// },
|
|
// "range": @Cursor1Range
|
|
// }
|
|
// -> textDocument/hover {
|
|
// "position": @Cursor2
|
|
// }
|
|
// <- {
|
|
// "contents": {
|
|
// "kind": "markdown",
|
|
// "value": "```solidity\ntype(enum User.SomeEnum)\n```\n\n"
|
|
// },
|
|
// "range": @Cursor2Range
|
|
// }
|
|
// -> textDocument/hover {
|
|
// "position": @Cursor3
|
|
// }
|
|
// <- {
|
|
// "contents": {
|
|
// "kind": "markdown",
|
|
// "value": "```solidity\ntype(contract User)\n```\n\nUser being documented.\n\n"
|
|
// },
|
|
// "range": @Cursor3Range
|
|
// }
|
|
// -> textDocument/hover {
|
|
// "position": @Cursor4
|
|
// }
|
|
// <- {
|
|
// "contents": {
|
|
// "kind": "markdown",
|
|
// "value": "```solidity\nenum User.SomeEnum\n```\n\n"
|
|
// },
|
|
// "range": @Cursor4Range
|
|
// }
|
|
// -> textDocument/hover {
|
|
// "position": @Cursor5
|
|
// }
|
|
// <- {
|
|
// "contents": {
|
|
// "kind": "markdown",
|
|
// "value": "```solidity\ntype(contract AnotherContract)\n```\n\nDocumenting another contract here.\n\n"
|
|
// },
|
|
// "range": @Cursor5Range
|
|
// }
|