# oopPrimitives

- <Object> primitiveBecome:ifFail: ^<Object>
  Parameters:
  anObject <Object>
  Errors: RecieverHasWrongType

- <Object> primitiveInstVarAt:ifFail: ^<Object>
  Parameters:
  index <SmallInteger>
  Errors: OutOfBounds

- <Reciever> primitiveInstVarNameFor:at:ifFail: ^<Symbol>
  Parameters:
  obj <Object>
  index <SmallInteger>
  Errors: OutOfBounds

- <Object> primitiveInstVarAt:put:ifFail: ^<Object>
  Parameters:
  index <SmallInteger>
  contents <Object>
  Errors: OutOfBounds

- <Object> primitiveHash ^<SmallInteger>

- primitiveHashOf: ^<SmallInteger>
  Parameters:
  obj <Object>

- <Object> primitiveShallowCopyIfFail: ^<Object>
  Errors: ReceiverHasWrongType

- <Object> primitiveCopyTenuredIfFail: ^<Object>
  Errors: NotOops

- <Object> primitiveEqual: ^<Boolean>
  Parameters:
  anObject <Object>
  Flags: Pure

- <Object> primitiveNotEqual: ^<Boolean>
  Parameters:
  anObject <Object>
  Flags: Pure

- <Object> primitiveOopSize ^<SmallInteger>
  Flags: Pure

- <Object> primitiveClass ^<Self class>
  Flags: Pure LastDeltaFrameNotNeeded

- primitiveClassOf: ^<Behavior>
  Parameters:
  obj <Object>
  Flags: Pure LastDeltaFrameNotNeeded

- <Object> primitivePrint ^<Self>

- <Object> primitivePrintValue ^<Self>

- <Object> primitiveAsObjectID ^<SmallInteger>

- <Object> primitivePerform:ifFail: ^<Object>
  Parameters:
  selector <CompressedSymbol>
  Errors: SelectorHasWrongNumberOfArguments

- <Object> primitivePerform:with:ifFail: ^<Object>
  Parameters:
  selector <CompressedSymbol>
  arg1 <Object>
  Errors: SelectorHasWrongNumberOfArguments
  Flags: NLR

- <Object> primitivePerform:with:with:ifFail: ^<Object>
  Parameters:
  selector <CompressedSymbol>
  arg1 <Object>
  arg2 <Object>
  Errors: SelectorHasWrongNumberOfArguments
  Flags: NLR

- <Object> primitivePerform:with:with:with:ifFail: ^<Object>
  Parameters:
  selector <CompressedSymbol>
  arg1 <Object>
  arg2 <Object>
  arg3 <Object>
  Errors: SelectorHasWrongNumberOfArguments
  Flags: NLR

- <Object> primitivePerform:arguments:ifFail: ^<Object>
  Parameters:
  selector <CompressedSymbol>
  args <Array>
  Errors: SelectorHasWrongNumberOfArguments
  Flags: NLR