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    }