Decompiled Code For VLOOKUP( C136, D$133:F$135, D136, false )
The expression
=VLOOKUP( C136, D$133:F$135, D136, false )
is compiled to the following class(es):
package org.formulacompiler.gen; import org.formulacompiler.runtime.Computation; import org.formulacompiler.runtime.FormulaException; import org.formulacompiler.runtime.internal.Environment; import org.formulacompiler.runtime.internal.Runtime_v2; import org.formulacompiler.tests.reference.base.Inputs; import org.formulacompiler.tests.reference.base.Outputs; final class $Root extends Outputs implements Computation { private final Inputs $inputs; final Environment $environment; private String[] $constarr$0; $Root(Inputs inputs, Environment environment) { $environment = environment; $inputs = inputs; } final String get$0() { return get$3((double) Runtime_v2.fun_MATCH_Exact(get$1(), $constarr$0())); } public final String str() { return get$0(); } final String get$3(double d) { switch ((int) Runtime_v2.checkDouble(get$2())) { case 1: return $idx$0((int) Runtime_v2.checkDouble(d) - 1); case 2: return $idx$1((int) Runtime_v2.checkDouble(d) - 1); case 3: return $idx$2((int) Runtime_v2.checkDouble(d) - 1); default: Runtime_v2.fun_ERROR ("#VALUE/REF! because index is out of range in H/VLOOKUP"); return null; } } final String $idx$0(int i) { switch (i) { case 0: return "one"; case 1: return "two"; case 2: return "three"; default: throw new FormulaException ("#VALUE/REF! because index is out of range in INDEX"); } } final String $idx$1(int i) { switch (i) { case 0: return "\u043e\u0434\u0438\u043d"; case 1: return "\u0434\u0432\u0430"; case 2: return "\u0442\u0440\u0438"; default: throw new FormulaException ("#VALUE/REF! because index is out of range in INDEX"); } } final String $idx$2(int i) { switch (i) { case 0: return "eins"; case 1: return "zwei"; case 2: return "drei"; default: throw new FormulaException ("#VALUE/REF! because index is out of range in INDEX"); } } final String[] $constarr$0() { if ($constarr$0 == null) $constarr$0 = new String[] { "one", "two", "three" }; return $constarr$0; } final String get$1() { return Runtime_v2.stringFromString($inputs.str(0)); } final double get$2() { return $inputs.dbl(1); } }