private void cacheCodes ( ) { Set < ProcCode > set = new HashSet < ProcCode > ( ) ; if ( parent != null ) { set . addAll ( Arrays . asList ( parent . getCodes ( ) ) ) ; } if ( scopeCodes != null ) { set . addAll ( scopeCodes ) ; } cachedCodes = set . toArray ( new ProcCode [ set . size ( ) ] ) ; Arrays . sort ( cachedCodes , new Comparator < ProcCode > ( ) { public int compare ( ProcCode code1 , ProcCode code2 ) { return code2 . compareTo ( code1 ) ; } } ) ; for ( ProcCode code : cachedCodes ) { hasCrazyCode = hasCrazyCode || ! code . startsWithConstant ( ) ; hasCheck = hasCheck || code . containsCheck ( ) ; } }
Cache scope codes . Join scope codes with parent scope codes .