public Attribute merge ( List < AgBuffer > copyBuffers , int symbol , Type mergedType ) { Map < Attribute , Merger > mapping ; // map old attribute to merger objects. null: don't merge. List < Merger > mergers ; Merger merger ; int i ; int max ; mapping = new HashMap < Attribute , Merger > ( ) ; mergers = new ArrayList < Merger > ( ) ; max = copyBuffers . size ( ) ; for ( i = 0 ; i < max ; i ++ ) { copyBuffers . get ( i ) . createMergers ( mergers , mapping , mergedType ) ; } runMergers ( mergers , mapping ) ; merger = Merger . forSymbol ( mergers , symbol ) ; if ( merger == null ) { throw new IllegalStateException ( ) ; } return merger . dest ; }
Merge all attributes with &gt ; 0 attributions buffers . Return the merged attribute of the specified symbol .