Types: PsiField:i : int PsiMethodCallExpression:i.addAndGet(-(9)) : int PsiMethodCallExpression:i.addAndGet(9) : int PsiMethodCallExpression:i.get() : int PsiMethodCallExpression:i.getAndAdd(-5) : int PsiMethodCallExpression:i.getAndAdd(2) : int PsiMethodCallExpression:i.set(9) : void PsiReferenceExpression:i : int PsiReferenceExpression:i : int PsiReferenceExpression:i : int PsiReferenceExpression:i : int PsiReferenceExpression:i : int PsiReferenceExpression:i : int Conversions: i.addAndGet(-(9)) -> $qualifier$ + $delta$ $qualifier$.addAndGet($delta$) i.addAndGet(9) -> $qualifier$ + $delta$ $qualifier$.addAndGet($delta$) i.get() -> $qualifier$ $qualifier$.get() i.getAndAdd(-5) -> $qualifier$ += $val$ $qualifier$.getAndAdd($val$) i.getAndAdd(2) -> $qualifier$ += $val$ $qualifier$.getAndAdd($val$) i.set(9) -> $qualifier$ = $val$ $qualifier$.set($val$) new AtomicInteger(0) -> $qualifier$ new $type$($qualifier$) New expression type changes: Fails: