[
[
{
"elements" : [
{
"type" : "contract" ,
"name" : "DerivedContract_bad0" ,
"source_mapping" : {
"start" : 185 ,
"length" : 133 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
10 ,
11 ,
12 ,
13 ,
14
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
{
"type" : "function" ,
"name" : "f2" ,
"source_mapping" : {
"start" : 72 ,
"length" : 37 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
3
] ,
"starting_column" : 5 ,
"ending_column" : 42
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "BaseInterface" ,
"source_mapping" : {
"start" : 0 ,
"length" : 111 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "f2()"
}
} ,
{
"type" : "function" ,
"name" : "f3" ,
"source_mapping" : {
"start" : 144 ,
"length" : 37 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
7
] ,
"starting_column" : 5 ,
"ending_column" : 42
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "BaseInterface2" ,
"source_mapping" : {
"start" : 113 ,
"length" : 70 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
6 ,
7 ,
8
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "f3()"
}
}
] ,
"description" : "DerivedContract_bad0 (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#7)\n" ,
"markdown" : "[DerivedContract_bad0](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L7)\n" ,
"first_markdown_element" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L10-L14" ,
"id" : "8614d351f7aac0c05e8df6ef7c89c6b46a2b8acf6295c9d5a886ff6489c74a41" ,
"check" : "unimplemented-functions" ,
"impact" : "Informational" ,
"confidence" : "High"
} ,
{
"elements" : [
{
"type" : "contract" ,
"name" : "AbstractContract_bad1" ,
"source_mapping" : {
"start" : 320 ,
"length" : 143 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
16 ,
17 ,
18 ,
19 ,
20 ,
21
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
{
"type" : "function" ,
"name" : "f1" ,
"source_mapping" : {
"start" : 357 ,
"length" : 37 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
17
] ,
"starting_column" : 5 ,
"ending_column" : 42
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "AbstractContract_bad1" ,
"source_mapping" : {
"start" : 320 ,
"length" : 143 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
16 ,
17 ,
18 ,
19 ,
20 ,
21
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "f1()"
}
}
] ,
"description" : "AbstractContract_bad1 (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#17)\n" ,
"markdown" : "[AbstractContract_bad1](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L17)\n" ,
"first_markdown_element" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L16-L21" ,
"id" : "adc202df4717efc4e19b549c0e623a79fac759a36bffb5d5e4aac401e33375d7" ,
"check" : "unimplemented-functions" ,
"impact" : "Informational" ,
"confidence" : "High"
} ,
{
"elements" : [
{
"type" : "contract" ,
"name" : "DerivedContract_bad2" ,
"source_mapping" : {
"start" : 541 ,
"length" : 232 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
27 ,
28 ,
29 ,
30 ,
31 ,
32 ,
33
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
{
"type" : "function" ,
"name" : "get" ,
"source_mapping" : {
"start" : 495 ,
"length" : 42 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
24
] ,
"starting_column" : 5 ,
"ending_column" : 47
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "BaseInterface3" ,
"source_mapping" : {
"start" : 465 ,
"length" : 74 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
23 ,
24 ,
25
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "get(uint256)"
}
}
] ,
"description" : "DerivedContract_bad2 (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#27-33) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#24)\n" ,
"markdown" : "[DerivedContract_bad2](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L27-L33) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L24)\n" ,
"first_markdown_element" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L27-L33" ,
"id" : "31915d2f480e24ddd054de973440a02abdac0ccd6332c47cd4eb8d836d3fddda" ,
"check" : "unimplemented-functions" ,
"impact" : "Informational" ,
"confidence" : "High"
} ,
{
"elements" : [
{
"type" : "contract" ,
"name" : "DerivedContract_good" ,
"source_mapping" : {
"start" : 775 ,
"length" : 243 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
35 ,
36 ,
37 ,
38 ,
39 ,
40 ,
41
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
{
"type" : "function" ,
"name" : "get" ,
"source_mapping" : {
"start" : 495 ,
"length" : 42 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
24
] ,
"starting_column" : 5 ,
"ending_column" : 47
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "BaseInterface3" ,
"source_mapping" : {
"start" : 465 ,
"length" : 74 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol" ,
"is_dependency" : false ,
"lines" : [
23 ,
24 ,
25
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "get(uint256)"
}
}
] ,
"description" : "DerivedContract_good (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#35-41) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#24)\n" ,
"markdown" : "[DerivedContract_good](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L35-L41) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L24)\n" ,
"first_markdown_element" : "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L35-L41" ,
"id" : "08d3e8a72b5da6d189acb46ecd36f00787a87812727526a0cae248a2bac348fc" ,
"check" : "unimplemented-functions" ,
"impact" : "Informational" ,
"confidence" : "High"
}
]
]