File tree Expand file tree Collapse file tree 2 files changed +45
-0
lines changed
src/test/kotlin/me/serce/solidity/lang/core/resolve Expand file tree Collapse file tree 2 files changed +45
-0
lines changed Original file line number Diff line number Diff line change @@ -393,6 +393,27 @@ class SolFunctionResolveTest : SolResolveTestBase() {
393
393
""" )
394
394
}
395
395
396
+ fun testResolveImportedError () {
397
+ val file1 = InlineFile ("""
398
+ error XyzError(uint x);
399
+ //x
400
+ """ ,
401
+ name = " Xyz.sol"
402
+ )
403
+
404
+ val file2 = InlineFile ("""
405
+ import "./Xyz.sol";
406
+ contract B {
407
+ function doit(uint256[] storage array) {
408
+ revert XyzError(1);
409
+ //^
410
+ }
411
+ }
412
+ """ )
413
+
414
+ testResolveBetweenFiles(file1, file2)
415
+ }
416
+
396
417
fun checkIsResolved (@Language(" Solidity" ) code : String ) {
397
418
val (refElement, _) = resolveInCode<SolFunctionCallExpression >(code)
398
419
assertNotNull(refElement.reference?.resolve())
Original file line number Diff line number Diff line change @@ -78,4 +78,28 @@ class SolStructResolveTest : SolResolveTestBase() {
78
78
//^
79
79
}
80
80
""" )
81
+
82
+ fun testResolveImportedStruct () {
83
+ val file1 = InlineFile (
84
+ code = """
85
+ struct Proposal {
86
+ //x
87
+ uint256 id;
88
+ }
89
+ """ .trimIndent(),
90
+ name = " Abc.sol"
91
+ )
92
+
93
+ val file2 = InlineFile ("""
94
+ import "./Abc.sol";
95
+ contract B {
96
+ function doit(uint256[] storage array) {
97
+ Proposal prop = Proposal(1);
98
+ //^
99
+ }
100
+ }
101
+ """ )
102
+
103
+ testResolveBetweenFiles(file1, file2)
104
+ }
81
105
}
You can’t perform that action at this time.
0 commit comments