if (!erased) global.currentPhase = current;
global.currentPhase = current;
    private Type getMainMethodType(boolean erased) {        scalac.Phase current = global.currentPhase; // !!!        if (!erased) global.currentPhase = global.getFirstPhase();        Definitions definitions = global.definitions;        Type argument = definitions.ARRAY_TYPE(definitions.JAVA_STRING_TYPE());        Type result = definitions.UNIT_TYPE();        if (erased) argument = argument.erasure();        if (erased) result = result.fullErasure();        Symbol formal = new TermSymbol(0, ARGS_N, null, Modifiers.PARAM);        formal.setInfo(argument);        if (!erased) global.currentPhase = current;        return Type.MethodType(new Symbol[] {formal}, result);    }