Bläddra i källkod

A sol file can be empty

Signed-off-by: Sean Young <sean@mess.org>
Sean Young 5 år sedan
förälder
incheckning
2d8bdb9435
3 ändrade filer med 178 tillägg och 163 borttagningar
  1. 1 1
      src/parser/solidity.lalrpop
  2. 170 161
      src/parser/solidity.rs
  3. 7 1
      tests/substrate_tests/first.rs

+ 1 - 1
src/parser/solidity.lalrpop

@@ -12,7 +12,7 @@ use super::doc::tags;
 grammar<'input>(input: &'input str, file_no: usize);
 
 pub SourceUnit: SourceUnit = {
-    SourceUnitPart+ => SourceUnit(<>)
+    SourceUnitPart* => SourceUnit(<>)
 }
 
 SourceUnitPart: SourceUnitPart = {

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 170 - 161
src/parser/solidity.rs


+ 7 - 1
tests/substrate_tests/first.rs

@@ -1,10 +1,16 @@
 use parity_scale_codec::Encode;
 use parity_scale_codec_derive::{Decode, Encode};
 
-use crate::build_solidity;
+use crate::{build_solidity, no_errors, parse_and_resolve};
+use solang::Target;
 
 #[test]
 fn simple_solidiy_compile_and_run() {
+    // try empty file
+    let ns = parse_and_resolve("", Target::Substrate);
+
+    no_errors(ns.diagnostics);
+
     #[derive(Debug, PartialEq, Encode, Decode)]
     struct FooReturn {
         value: u32,

Vissa filer visades inte eftersom för många filer har ändrats