private void loadFromVariable(Variable var) {
            if (var.isField()) {
                if (!mVariableMap.containsKey(var)) {
                    declareVariable(var, null);
                }

                TypeDesc td = makeDesc(var);

                if (var.isStatic()) {
                    mBuilder.loadStaticField(var.getName(), td);
                }
                else {
                    mBuilder.loadThis();
                    mBuilder.loadField(var.getName(), td);
                }
            }
            else {
                LocalVariable local = mVariableMap.get(var);
                if (local == null) {
                    throw new RuntimeException
                        ("Attempting to read from uninitialized local " +
                         "variable: " + var);
                }
                mBuilder.loadLocal(local);
            }
        }