codesimian
Class Ptr.ParamPtr

java.lang.Object
  extended by codesimian.CS<CSGeneric>
      extended by codesimian.DefaultCS
          extended by codesimian.Ptr
              extended by codesimian.Ptr.ParamPtr
All Implemented Interfaces:
CodeSimian
Enclosing class:
Ptr

public static class Ptr.ParamPtr
extends Ptr

allows you to get/set a param of some parent CS with a specific child index. No error checking is done. GetParam and setP call themselves from (instance var) 'parent'. Their own index is ignored because there is only ONE thing to set/get from a ParamPtr, what it points to.

WARNING: parent.countP() <= indexInParent must start true, but changes in parent's params could make it false later, and cause a null error (5/05).


Nested Class Summary
 
Nested classes/interfaces inherited from class codesimian.Ptr
Ptr.FieldPtr, Ptr.IndividualPtrs, Ptr.Null, Ptr.ParamPtr, Ptr.PtrSet
 
Field Summary
 int indexInParent
           
 CS parent
           
 
Fields inherited from class codesimian.CS
DESCRIPTION, END, EXECPROXY, HEAP, JAVACODE, MYFUEL, NAME, NEWINSTANCE, NULL, PARENT, PARSEPRIORITY, PREV, TESTER, THIS
 
Constructor Summary
Ptr.ParamPtr(CS parent, int indexInParent)
           
 
Method Summary
 java.lang.String keyword()
          For the CodeSimian language as a String.
CodeSimian language keyword, like "+" "*" "max" ">" etc.

Override this function if you want to specify a keyword other than how I derive them from the class name, like + for Add.

Some CSs might never be intended to be used in the language by their keyword.
The best example (4/05) is Num, because it is used in the language like "3.4" instead of "num()".
 CS P(int index)
          returns parent.P(indexInParent).
 boolean setP(int index, CS value)
          returns parent.setP(indexInParent, value)
 
Methods inherited from class codesimian.Ptr
DForProxy, minP
 
Methods inherited from class codesimian.DefaultCS
B, C, countP, decrementMyFuel, deleteP, description, F, fuel, getExec, getObject, heap, I, indexP, indexPName, insertB, insertC, insertD, insertF, insertI, insertJ, insertL, insertL, insertL1, insertP, insertS, insertZ, J, javaCode, LForProxy, LForProxy, myFuel, name, newInstance, objectToCS, objectToCSArray, objectToCSArray, prevD, prevL, PType, S, setB, setC, setCountP, setD, setD, setExec, setF, setFuel, setI, setJ, setL, setL, setL, setL1, setMyFuel, setName, setObject, setPrevExec, setPType, setS, setZ, start, toString, V, Z
 
Methods inherited from class codesimian.CS
addB, addC, addD, addF, addI, addJ, addL, addP, addP, addP, addP, addP, addS, addZ, BForProxy, CForProxy, clone, cost, D, deleteP, FForProxy, GETB, GETC, GETD, GETF, GETI, GETJ, GETL, GETS, GETZ, IForProxy, isIllusion, JForProxy, L, L, L, L, L, maxD, maxP, minD, overwrites, parent, parsePriority, PB, PC, PD, PF, PI, PJ, PL, prevB, prevC, prevF, prevI, prevJ, prevS, prevZ, proxyOf, PS, PZ, reflect, reflect, reflect6, setB, SETB, setC, SETC, setCost, SETD, setDescription, setF, SETF, setHeap, setI, SETI, setJ, SETJ, SETL, setL, setL, setParent, setParsePriority, setProxyOf, setS, SETS, setTester, setZ, SETZ, SForProxy, tester, toJavaCode, VForProxy, voidReflect, ZForProxy
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

parent

public final CS parent

indexInParent

public final int indexInParent
Constructor Detail

Ptr.ParamPtr

public Ptr.ParamPtr(CS parent,
                    int indexInParent)
Method Detail

keyword

public java.lang.String keyword()
Description copied from class: DefaultCS
For the CodeSimian language as a String.
CodeSimian language keyword, like "+" "*" "max" ">" etc.

Override this function if you want to specify a keyword other than how I derive them from the class name, like + for Add.

Some CSs might never be intended to be used in the language by their keyword.
The best example (4/05) is Num, because it is used in the language like "3.4" instead of "num()".
Default: Returns class name, minus package name (and its dots), and change the first letter to lowercase.

For example, CS.MaxParams does not override keyword(), which returns "maxP".

Overrides:
keyword in class DefaultCS
See Also:
CS.parent(), CS.newInstance(), CS.name()

P

public CS P(int index)
returns parent.P(indexInParent). Ignores index.

Overrides:
P in class DefaultCS
Parameters:
index - range 0 (or neg?) to countP()-1 inclusive
See Also:
CS.heap()

setP

public boolean setP(int index,
                    CS value)
returns parent.setP(indexInParent, value)

Overrides:
setP in class DefaultCS