private Set < Source > calculateModifiedSources ( ) { Set < Source > modified = new HashSet <> ( ) ; for ( String src : now . sources ( ) . keySet ( ) ) { Source n = now . sources ( ) . get ( src ) ; Source t = prev . sources ( ) . get ( src ) ; if ( prev . sources ( ) . get ( src ) != null ) { if ( t != null ) { if ( n . lastModified ( ) > t . lastModified ( ) ) { modified . add ( n ) ; } else if ( n . lastModified ( ) < t . lastModified ( ) ) { modified . add ( n ) ; Log . warn ( "The source file " + n . name ( ) + " timestamp has moved backwards in time." ) ; } } } } return modified ; }
Return those files where the timestamp is newer . If a source file timestamp suddenly is older than what is known about it in javac_state then consider it modified but print a warning!