@@ -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
@@ -189,6 +193,10 @@ private IEnumerable<BaseNode> ReadNodeElements(IEnumerable<XElement> elements, C
189193
190194 private static void TryGetAttributeValue ( XElement element , string attribute , out int val , ILogger logger )
191195 {
196+ Contract . Requires ( element != null ) ;
197+ Contract . Requires ( attribute != null ) ;
198+ Contract . Requires ( logger != null ) ;
199+
192200 if ( ! int . TryParse ( element . Attribute ( attribute ) ? . Value , out val ) )
193201 {
194202 val = 0 ;
@@ -202,6 +210,7 @@ public static Tuple<List<ClassNode>, List<BaseNode>> ReadNodes(Stream input, ReC
202210 {
203211 Contract . Requires ( input != null ) ;
204212 Contract . Requires ( logger != null ) ;
213+ Contract . Ensures ( Contract . Result < Tuple < List < ClassNode > , List < BaseNode > > > ( ) != null ) ;
205214
206215 using ( var project = new ReClassNetProject ( ) )
207216 {
0 commit comments