public void getAttributes ( int symbol , Set < Attribute > internal , Set < Attribute > synthesized , Set < Attribute > inherited ) { int i ; int max ; Attribute a ; for ( AttributionBuffer ab : attributions ) { a = ab . result . attr ; if ( a . symbol == symbol ) { if ( ab . result . ofs == - 1 ) { synthesized . add ( a ) ; } else { inherited . add ( a ) ; } } } max = internals . size ( ) ; for ( i = 0 ; i < max ; i += 2 ) { a = ( Attribute ) internals . get ( i ) ; if ( a . symbol == symbol ) { internal . add ( a ) ; } } }
Besides the classic synthesized and inherited attributes I have internal attributes . Internal attributes are computed when creating the node a better name might be initial .