|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcodesimian.CS<CSGeneric>
codesimian.DefaultCS
codesimian.JavaOutSimple
public class JavaOutSimple
Summary: put any CS in P(1), execute, and get an optimized and possibly slightly
mutated version of it in P(0) that you can copy without limit and which will exist
in all future codesimians you save.
Gets a string of java code from a network of CSs starting at P(1), uses the java compiler
if available on the current computer, creates a new class in package codesimian.javaout,
merges it with the current code, and creates an instance of it connected to the parts
of the network of CSs that could not be converted to java code. Those parts become
the parameters of the new subclass of CS. Thats what defineds its minP() and maxP().
Has static functions for creating new Java code on-the-fly by codesimian
Most created classes go in package codesimian.javaout.
Some go in package codesimian, but those are generated by Human design, not evolved.
Do not pollute package codesimian with evolved code.
Nested Class Summary | |
---|---|
static class |
JavaOutSimple.Lists
superclass does CS in, CS out. |
Field Summary | |
---|---|
static java.lang.String |
defaultPackage
Most generated java classes go in this package |
static int |
maxJavaOutClasses
Returns 50000. |
static int |
maxJavaOutClassesIfManyClassloaders
Returns 314159. |
Fields inherited from class codesimian.CS |
---|
DESCRIPTION, END, EXECPROXY, HEAP, JAVACODE, MYFUEL, NAME, NEWINSTANCE, NULL, PARENT, PARSEPRIORITY, PREV, TESTER, THIS |
Constructor Summary | |
---|---|
JavaOutSimple()
|
Method Summary | |
---|---|
static java.lang.Class[] |
createNewClasses(CS[] createOneJavaClassForEach)
WARNING: calls a java compiler, which is slow and may require certain operating systems or options |
java.lang.String |
description()
a short description of this CS, shorter than the javadoc, but long enough to tell what the params are for. |
double |
DForProxy()
Execute this CS and cast to double. |
static java.lang.String |
javaCodeForNewSubclassOfCS(java.lang.String nameOfNewClass,
java.lang.Class parentClass,
java.lang.reflect.Method callMe)
Builds a class that wraps any java Method in a CS. |
static java.lang.String |
javaCodeForPartOfNetworkOfCSAsNewSubclassOfCS(CS networkRoot)
|
static java.lang.String |
javaCodeForType(java.lang.Class type)
javaCodeForType(List.class) returns "java.util.List". |
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()". |
int |
minP()
For DForProxy(). Minimum number of parameters in param[] needed to call DForProxy(). Defines which indexs of param[] DForProxy() can use. Functions with a different number of parameters must override this. OVERRIDE THIS FUNCTION IF EXEC USES A DIFFERENT NUMBER OF PARAMETERS. Default is 1. |
Methods inherited from class codesimian.DefaultCS |
---|
B, C, countP, decrementMyFuel, deleteP, 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, P, prevD, prevL, PType, S, setB, setC, setCountP, setD, setD, setExec, setF, setFuel, setI, setJ, setL, setL, setL, setL1, setMyFuel, setName, setObject, setP, 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 |
---|
public static final java.lang.String defaultPackage
public static final int maxJavaOutClasses
public static final int maxJavaOutClassesIfManyClassloaders
Constructor Detail |
---|
public JavaOutSimple()
Method Detail |
---|
public double DForProxy()
CS
DForProxy
in class DefaultCS
public int minP()
DefaultCS
minP
in class DefaultCS
public java.lang.String keyword()
DefaultCS
keyword
in class DefaultCS
CS.parent()
,
CS.newInstance()
,
CS.name()
public java.lang.String description()
CS
description
in class DefaultCS
public static java.lang.Class[] createNewClasses(CS[] createOneJavaClassForEach) throws JavaException
JavaException
public static java.lang.String javaCodeForPartOfNetworkOfCSAsNewSubclassOfCS(CS networkRoot)
public static java.lang.String javaCodeForNewSubclassOfCS(java.lang.String nameOfNewClass, java.lang.Class parentClass, java.lang.reflect.Method callMe)
nameOfParentClass
- - name of any subclass of CSm
- - any Method from any Classpublic static java.lang.String javaCodeForType(java.lang.Class type)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |