@@ -222,15 +222,17 @@ public String toString() {
222222 final String opName = operatorFunctor .getText ();
223223 final int functorPrecedence = operatorFunctor .getPrecedence ();
224224
225+ final PrologTerm arg1 = getTermAt (0 );
225226 final String text1 = getTermAt (0 ).toString ();
226- final String text2 = getArity () > 1 ? getTermAt (1 ).toString ()
227- : null ;
227+
228+ final PrologTerm arg2 = getArity ()>1 ? getTermAt (1 ) : null ;
229+ final String text2 = arg2 == null ? null : getTermAt (1 ).toString ();
228230
229231 switch (operatorFunctor .getAssoc ()) {
230232 case FX : {
231233 builder .append (opName ).append (' ' );
232234
233- if (getTermAt ( 0 ) .getPrecedence () >= functorPrecedence ) {
235+ if (arg1 .getPrecedence () >= functorPrecedence ) {
234236 builder .append ('(' ).append (text1 ).append (')' );
235237 } else {
236238 builder .append (text1 );
@@ -241,15 +243,15 @@ public String toString() {
241243 builder .append (opName );
242244 builder .append (' ' );
243245
244- if (getTermAt ( 0 ) .getPrecedence () > functorPrecedence ) {
246+ if (arg1 .getPrecedence () > functorPrecedence ) {
245247 builder .append ('(' ).append (text1 ).append (')' );
246248 } else {
247249 builder .append (text1 );
248250 }
249251 }
250252 break ;
251253 case XF : {
252- if (getTermAt ( 0 ) .getPrecedence () >= functorPrecedence ) {
254+ if (arg1 .getPrecedence () >= functorPrecedence ) {
253255 builder .append ('(' ).append (text1 ).append (')' );
254256 } else {
255257 builder .append (text1 );
@@ -259,7 +261,7 @@ public String toString() {
259261 }
260262 break ;
261263 case YF : {
262- if (getTermAt ( 0 ) .getPrecedence () > functorPrecedence ) {
264+ if (arg1 .getPrecedence () > functorPrecedence ) {
263265 builder .append ('(' ).append (text1 ).append (')' );
264266 } else {
265267 builder .append (text1 );
@@ -269,47 +271,47 @@ public String toString() {
269271 }
270272 break ;
271273 case XFX : {
272- if (getTermAt ( 0 ) .getPrecedence () >= functorPrecedence ) {
274+ if (arg1 .getPrecedence () >= functorPrecedence ) {
273275 builder .append ('(' ).append (text1 ).append (')' );
274276 } else {
275277 builder .append (text1 );
276278 }
277279
278280 builder .append (' ' ).append (opName ).append (' ' );
279281
280- if (getTermAt ( 1 ) .getPrecedence () >= functorPrecedence ) {
282+ if (arg2 .getPrecedence () >= functorPrecedence ) {
281283 builder .append ('(' ).append (text2 ).append (')' );
282284 } else {
283285 builder .append (text2 );
284286 }
285287 }
286288 break ;
287289 case YFX : {
288- if (getTermAt ( 0 ) .getPrecedence () > functorPrecedence ) {
290+ if (arg1 .getPrecedence () > functorPrecedence ) {
289291 builder .append ('(' ).append (text1 ).append (')' );
290292 } else {
291293 builder .append (text1 );
292294 }
293295
294296 builder .append (' ' ).append (opName ).append (' ' );
295297
296- if (getTermAt ( 1 ) .getPrecedence () >= functorPrecedence ) {
298+ if (arg2 .getPrecedence () >= functorPrecedence ) {
297299 builder .append ('(' ).append (text2 ).append (')' );
298300 } else {
299301 builder .append (text2 );
300302 }
301303 }
302304 break ;
303305 case XFY : {
304- if (getTermAt ( 0 ) .getPrecedence () >= functorPrecedence ) {
306+ if (arg1 .getPrecedence () >= functorPrecedence ) {
305307 builder .append ('(' ).append (text1 ).append (')' );
306308 } else {
307309 builder .append (text1 );
308310 }
309311
310312 builder .append (' ' ).append (opName ).append (' ' );
311313
312- if (getTermAt ( 1 ) .getPrecedence () > functorPrecedence ) {
314+ if (arg2 .getPrecedence () > functorPrecedence ) {
313315 builder .append ('(' ).append (text2 ).append (')' );
314316 } else {
315317 builder .append (text2 );
0 commit comments