    001    /* Copyright 2000, 2001, Compaq Computer Corporation */
    002
    003    package escjava.translate;
    004
    005    class InlineSettings {
    006      boolean dontCheckPreconditions;
    007      boolean dontCheckInlinedBody;
    008      boolean getSpecForInline; // as opposed to getSpecForBody
    009
    010      int nextInlineCheckDepth = 0;
    011      int nextInlineDepthPastCheck = 0;
    012
    013      InlineSettings(boolean dontCheckPreconditions,
    014                     boolean dontCheckInlinedBody,
    015                     boolean getSpecForInline) {
    016        this.dontCheckPreconditions = dontCheckPreconditions;
    017        this.dontCheckInlinedBody = dontCheckInlinedBody;
    018        this.getSpecForInline = getSpecForInline;
    019      }
    020
    021      InlineSettings(boolean dontCheckPreconditions,
    022                     boolean dontCheckInlinedBody,
    023                     boolean getSpecForInline,
    024                     int checkDepth, int depthPastCheck) {
    025        this(dontCheckPreconditions,
    026             dontCheckInlinedBody,
    027             getSpecForInline);
    028        this.nextInlineCheckDepth = checkDepth;
    029        this.nextInlineDepthPastCheck = depthPastCheck;
    030      }
    031
    032      InlineSettings(InlineSettings is,
    033                     int checkDepth, int depthPastCheck) {
    034        this(is.dontCheckPreconditions,
    035             is.dontCheckInlinedBody,
    036             is.getSpecForInline);
    037        this.nextInlineCheckDepth = checkDepth;
    038        this.nextInlineDepthPastCheck = depthPastCheck;
    039      }
    040    }