// represents a JavaX expression that can both // -be evaluated right now (quickEval()) // -be transformed into Java source code (str()) // // A is the expression's return type. sinterface ICachedJavaXExpr extends IMeta { // override to provide an evaluation result public default A quickEval() { fail("Can't quick eval: " + toStringWithClassName(this)); } public default O javaConstruct() { this; } // overridable default int sourceCodeLength() { ret l(toString()); } }