@@ -23,6 +23,9 @@ public void Load(string filePath, ILogger logger)
2323
2424 public void Load ( Stream input , ILogger logger )
2525 {
26+ Contract . Requires ( input != null ) ;
27+ Contract . Requires ( logger != null ) ;
28+
2629 using ( var archive = new ZipArchive ( input , ZipArchiveMode . Read ) )
2730 {
2831 var dataEntry = archive . GetEntry ( DataFileName ) ;
@@ -79,6 +82,7 @@ public void Load(Stream input, ILogger logger)
7982 private IEnumerable < BaseNode > ReadNodeElements ( IEnumerable < XElement > elements , ClassNode parent , ILogger logger )
8083 {
8184 Contract . Requires ( elements != null ) ;
85+ Contract . Requires ( Contract . ForAll ( elements , e => e != null ) ) ;
8286 Contract . Requires ( parent != null ) ;
8387 Contract . Requires ( logger != null ) ;
8488
@@ -178,6 +182,10 @@ private IEnumerable<BaseNode> ReadNodeElements(IEnumerable<XElement> elements, C
178182
179183 private static void TryGetAttributeValue ( XElement element , string attribute , out int val , ILogger logger )
180184 {
185+ Contract . Requires ( element != null ) ;
186+ Contract . Requires ( attribute != null ) ;
187+ Contract . Requires ( logger != null ) ;
188+
181189 if ( ! int . TryParse ( element . Attribute ( attribute ) ? . Value , out val ) )
182190 {
183191 val = 0 ;
@@ -191,6 +199,7 @@ public static Tuple<List<ClassNode>, List<BaseNode>> ReadNodes(Stream input, ReC
191199 {
192200 Contract . Requires ( input != null ) ;
193201 Contract . Requires ( logger != null ) ;
202+ Contract . Ensures ( Contract . Result < Tuple < List < ClassNode > , List < BaseNode > > > ( ) != null ) ;
194203
195204 using ( var project = new ReClassNetProject ( ) )
196205 {
0 commit comments