org.abora.gold.x
Class PrimSpec

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.basic.Heaper
              |
              +--org.abora.gold.x.PrimSpec
Direct Known Subclasses:
PrimFloatSpec, PrimIntegerSpec, PrimPointerSpec

public class PrimSpec
extends Heaper

A specification of a kind of primitive data type which can be stored in PrimArrays. It
gives you protocol for creating and copying PrimArrays. The class and characteristics of
this object determine what kind of things are stored there, and how much precision they
have.


Field Summary
protected  Category myClass
           
protected static PrimFloatSpec TheIEEE32Spec
           
protected static PrimFloatSpec TheIEEE64Spec
           
protected static PrimIntegerSpec TheInt32Spec
           
protected static PrimIntegerSpec TheIntegerVarSpec
           
protected static PrimPointerSpec ThePtrSpec
           
protected static PrimPointerSpec TheSharedPtrSpec
           
protected static PrimIntegerSpec TheUInt32Spec
           
protected static PrimIntegerSpec TheUInt8Spec
           
 
Fields inherited from class org.abora.gold.xpp.basic.Heaper
AllBlasts, BecomeMap, GarbageCount, InGC, InitializedClasses, InitializingClasses, LastMemory, NextClientRequestNumber, NotOneElementSignal, PackageTable, PromiseNameTable, StringHashSBoxes
 
Fields inherited from class org.abora.gold.java.AboraHeaper
ActiveClubs, CurrentAuthor, CurrentBertCanopyCache, CurrentBertCrum, CurrentChunk, CurrentGrandMap, CurrentKeyMaster, CurrentPacker, CurrentSensorCanopyCache, CurrentServer, CurrentSession, CurrentSessions, CurrentTrace, InitialEditClub, InitialOwner, InitialReadClub, InitialSponsor, InsideTransactionFlag
 
Constructor Summary
PrimSpec(Category primClass)
           
PrimSpec(Rcvr receiver)
           
 
Method Summary
 int actualHashForEqual()
           
 PrimArray array()
           
 PrimArray array(int count)
          Make an array initialized to some reasonable zero value
 Category arrayClass()
           
 PrimArray arrayFromBuffer(int count, VoidStar buffer)
          Make an array with the values at the given address
 PrimArray arrayWith(Heaper value)
          Make a single element array containing the given value
 PrimArray arrayWithThree(Heaper value, Heaper other, Heaper another)
          Make a two element array containing the given values
 PrimArray arrayWithTwo(Heaper value, Heaper other)
          Make a two element array containing the given values
 PrimArray copy(PrimArray array)
           
 PrimArray copy(PrimArray array, int count)
           
 PrimArray copy(PrimArray array, int count, int start)
           
 PrimArray copy(PrimArray array, int count, int start, int before)
           
 PrimArray copy(PrimArray array, int count, int start, int before, int after)
          Make a copy of an array with a different representation size.
 PrimArray copyGrow(PrimArray array, int after)
          Make a copy of the array into a larger array.
static PrimFloatSpec iEEE(int precision)
           
static PrimFloatSpec iEEE32()
           
static PrimFloatSpec iEEE64()
           
static void info()
          {PrimArray CLIENT} arrayFromBuffer: count {Int32} with: buffer {void star}
{PrimArray CLIENT} arrayWith: value {Heaper}
{PrimArray CLIENT} arrayWithThree: value {Heaper} with: other {Heaper} with: another
{Heaper}
{PrimArray CLIENT} arrayWithTwo: value {Heaper} with: other {Heaper}
{Int32 CLIENT} sizeofElement
static void initSpecs()
          moved from initTime because MS C++/NT does not like large initTimes
static void initTimeNonInherited()
           
static PrimIntegerSpec int32()
           
static PrimIntegerSpec integerVar()
           
static void linkTimeNonInherited()
           
static PrimPointerSpec pointer()
          A spec for pointers to object
 PrimArray privateCopy(PrimArray array, int size, int start, int count, int offset)
          Support for copy:with:with:with:with:
 void sendSelfTo(Xmtr xmtr)
          do nothing
static PrimPointerSpec sharedPointer()
           
static PrimIntegerSpec signedInteger(int bitCount)
           
 int sizeofElement()
          Essential.
static PrimIntegerSpec toHold(IntegerVar value)
          The least demanding spec that will hold the given value
static PrimIntegerSpec uInt32()
           
static PrimIntegerSpec uInt8()
           
static PrimIntegerSpec unsignedInteger(int bitCount)
           
 
Methods inherited from class org.abora.gold.xpp.basic.Heaper
abstractDeclarationFor, abstractTypeFor, addMethodAttributeToInOf, addPackage, addPackageCategory, allClientProtocolOn, argumentTypesFor, arrow, blast, blast, BLAST, cachePromiseNameTable, cachePromiseNameTableIn, canYouBecome, cast, cleanPromiseClasses, cleanupGarbage, clientClassesDo, clientFunctionsOn, clientMethodsOn, clientProtocol, clientProtocolDo, clientProtocolOn, clientProtocolOn, collectibleClasses, compare, compileClientSubclasses, compileConstantPromiseMethods, compileCreateFromRcvr, compileEQ, compileGeneratedClassMethod, compileGeneratedMethod, compileHook, compilePromise, compilePromiseDefaultMethods, compilePromiseFluidDeclarations, compilePromiseHandlers, compilePromiseMethods, compileRequestCreateMsgInArguments, compileRequestEvaluateMsgInReturningArguments, compileRPCSpecialistEvaluateMsgForReturningArguments, compileSendSelfTo, compileSendSelfToSendHook, compileStubbleMethods, compileSubclassStubbleMethods, computeMangle, computePreorder, constantTypeValue, convert, convertCopyDeclarations, convertDeferredDeclarations, convertProxyDeclarations, convertSubclassCopyDeclarations, convertSubclassDeferredDeclarations, convertSubclassProxyDeclarations, copyReferencesToType, create, create, create, create, create, create, create, create, create, create, createRequestClassArguments, definesProxyMethods, delete, deref, destroy, destruct, destructor, enum, enumFlags, equals, exportName, fetchAttribute, fetchPackage, fetchSuperCategory, fileOutClientProtocol, findCategory, findSenderAndReceiverMethods, findTailInto, flushPromiseNameTable, foo, freezeClientClasses, freezeClientProtocol, freezeStProtocol, frozenClasses, garbageCollect, garbageCollectFrom, gcOpportunity, gcOpportunity, generatedCategory, generatePromiseNames, getCategory, getOrMakePackage, getSuperCategory, handlerSignaturesFrom, hash, hashForEqual, hasProxyMethods, info_clientClasses, info_clientSideClasses, info_promiseClasses, info_stProtocol, inGC, initializedClasses, initializingClasses, initPackages, initStringHashSBoxes, inspectPieces, instanceSize, IntegerVar, isByProxy, isConstructed, isDestructed, isEqual, isEqualOrSubclassOf, isGenerated, isIntType, isKindOf, isRawType, isUnlocked, make, makeClassTable, makeFillTable, makeRequestTable, mangle, markChildren, markCount, markInstances, mayBecome, mayBecomeAnySubclassOf, new1, newX, nonCopyVariables, notWorking, pack, packageClasses, packagingCategory, parseExportName, passe, pointerToStaticMember, pointerToStaticMember, pointerToVirtualMember, preorderMax, preorderNumber, printOn, PROBLEM, problems, promiseClass, promiseDefaultValue, promiseName, promiseNameTable, promiseToAbstract, registerPackageCategory, removeGeneratedCode, removeStubbleMethods, removeSubclassGeneratedCode, removeSubclassStubbleMethods, requestProcedure, requestProceduresFrom, returnTypeFor, rootName, scheduleTermination, sendProxyTo, serverNameFor, setGC, signal, signals, smalltalkSelector, stClientProtocol, stubbleSelectorTokenReturnsArguments, subclassNonCopyVariables, takeOop, togglePromiseName, togglePromiseOfParse, unimplemented, unmangle, verifyFreeze, wipeStubble
 
Methods inherited from class org.abora.gold.java.AboraHeaper
asOop, basicInspect, displayString, error, hack, halt, inspect, knownBug, mightNotImplement, REQUIRES, shouldImplement, shouldNotImplement, stubbleForSubclassResponsibility, thingToDo, willNotImplement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myClass

protected Category myClass

TheIEEE32Spec

protected static PrimFloatSpec TheIEEE32Spec

TheIEEE64Spec

protected static PrimFloatSpec TheIEEE64Spec

TheInt32Spec

protected static PrimIntegerSpec TheInt32Spec

TheIntegerVarSpec

protected static PrimIntegerSpec TheIntegerVarSpec

ThePtrSpec

protected static PrimPointerSpec ThePtrSpec

TheSharedPtrSpec

protected static PrimPointerSpec TheSharedPtrSpec

TheUInt32Spec

protected static PrimIntegerSpec TheUInt32Spec

TheUInt8Spec

protected static PrimIntegerSpec TheUInt8Spec
Constructor Detail

PrimSpec

public PrimSpec(Category primClass)

PrimSpec

public PrimSpec(Rcvr receiver)
Method Detail

privateCopy

public PrimArray privateCopy(PrimArray array,
                             int size,
                             int start,
                             int count,
                             int offset)
Support for copy:with:with:with:with:


array

public PrimArray array()

copy

public PrimArray copy(PrimArray array)

copy

public PrimArray copy(PrimArray array,
                      int count)

copy

public PrimArray copy(PrimArray array,
                      int count,
                      int start)

copy

public PrimArray copy(PrimArray array,
                      int count,
                      int start,
                      int before)

arrayClass

public Category arrayClass()

array

public PrimArray array(int count)
Make an array initialized to some reasonable zero value


arrayFromBuffer

public PrimArray arrayFromBuffer(int count,
                                 VoidStar buffer)
Make an array with the values at the given address


arrayWith

public PrimArray arrayWith(Heaper value)
Make a single element array containing the given value


arrayWithThree

public PrimArray arrayWithThree(Heaper value,
                                Heaper other,
                                Heaper another)
Make a two element array containing the given values


arrayWithTwo

public PrimArray arrayWithTwo(Heaper value,
                              Heaper other)
Make a two element array containing the given values


copy

public PrimArray copy(PrimArray array,
                      int count,
                      int start,
                      int before,
                      int after)
Make a copy of an array with a different representation size. The arguments are the same
as in PrimArray::copy.


copyGrow

public PrimArray copyGrow(PrimArray array,
                          int after)
Make a copy of the array into a larger array. The array has 'after' slots after the
copied elements.


sizeofElement

public int sizeofElement()
Essential. The size of a single element of the array, to be used to allocated space for
copyTo/FromBuffer. In the same units as C sizeof ().


actualHashForEqual

public int actualHashForEqual()
Overrides:
actualHashForEqual in class Heaper

sendSelfTo

public void sendSelfTo(Xmtr xmtr)
Description copied from class: Heaper
do nothing

Overrides:
sendSelfTo in class Heaper

initSpecs

public static void initSpecs()
moved from initTime because MS C++/NT does not like large initTimes


initTimeNonInherited

public static void initTimeNonInherited()

linkTimeNonInherited

public static void linkTimeNonInherited()

iEEE32

public static PrimFloatSpec iEEE32()

iEEE64

public static PrimFloatSpec iEEE64()

iEEE

public static PrimFloatSpec iEEE(int precision)

int32

public static PrimIntegerSpec int32()

integerVar

public static PrimIntegerSpec integerVar()

pointer

public static PrimPointerSpec pointer()
A spec for pointers to object


sharedPointer

public static PrimPointerSpec sharedPointer()

signedInteger

public static PrimIntegerSpec signedInteger(int bitCount)

toHold

public static PrimIntegerSpec toHold(IntegerVar value)
The least demanding spec that will hold the given value


uInt32

public static PrimIntegerSpec uInt32()

uInt8

public static PrimIntegerSpec uInt8()

unsignedInteger

public static PrimIntegerSpec unsignedInteger(int bitCount)

info

public static void info()
{PrimArray CLIENT} arrayFromBuffer: count {Int32} with: buffer {void star}
{PrimArray CLIENT} arrayWith: value {Heaper}
{PrimArray CLIENT} arrayWithThree: value {Heaper} with: other {Heaper} with: another
{Heaper}
{PrimArray CLIENT} arrayWithTwo: value {Heaper} with: other {Heaper}
{Int32 CLIENT} sizeofElement



Translation - Copyright © 2003 David G Jones. All Rights Reserved.
Original Udanax-Gold - Copyright © 1979-1999 Udanax.com. All rights reserved.