Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. public final static informalGreetingHashCollision(Ljava/lang/String;)Ljava/lang/String;
  2. L1
  3. ALOAD 0
  4. ASTORE 1
  5. ALOAD 1
  6. INVOKEVIRTUAL java/lang/String.hashCode ()I
  7. L2
  8. LOOKUPSWITCH
  9. -221064757: L3 // hash of "what's up"
  10. 2112: L4 // hash collision! this is the hash of both "Aa" and "BB"
  11. default: L5
  12. L4
  13. ALOAD 1
  14. LDC "Aa"
  15. INVOKEVIRTUAL java/lang/String.equals (Ljava/lang/Object;)Z
  16. IFEQ L6 // if not "Aa" -> L6 (check for "BB")
  17. GOTO L7 // if "Aa" -> "hi'"
  18. L6
  19. ALOAD 1
  20. LDC "BB"
  21. INVOKEVIRTUAL java/lang/String.equals (Ljava/lang/Object;)Z
  22. IFEQ L5 // if not "BB" -> "yo"
  23. GOTO L8 // -> throw Error
  24. L3
  25. ALOAD 1
  26. LDC "what's up"
  27. INVOKEVIRTUAL java/lang/String.equals (Ljava/lang/Object;)Z
  28. IFEQ L5
  29. GOTO L8
  30. L7
  31. LDC "hi"
  32. GOTO L9
  33. L8
  34. NEW java/lang/Error
  35. DUP
  36. LDC "Greeting already too casual"
  37. INVOKESPECIAL java/lang/Error.<init> (Ljava/lang/String;)V
  38. CHECKCAST java/lang/Throwable
  39. ATHROW
  40. L5
  41. LDC "yo"
  42. L9
  43. ARETURN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement