001 // This file was created as aprt of the 2003 Revision of the ESC tools. 002 // Author: David R. Cok 003 004 package escjava.ast; 005 006 /** This class adds some JML-specific modifiers to the usual Java set. 007 */ 008 public class Modifiers extends javafe.ast.Modifiers { 009 010 public static final int ACC_HELPER = 0x20000; // helper method, model or not 011 public static final int ACC_MODEL = 0x80000; // model fields and methods 012 public static final int ACC_DESUGARED = 0x400000; // set if desugaring 013 // of routine specs is complete 014 015 public static boolean isModel(int modifiers) { 016 return (modifiers&ACC_MODEL) != 0; 017 } 018 public static boolean isHelper(int modifiers) { 019 return (modifiers&ACC_HELPER) != 0; 020 } 021 022 //@ ensures \result != null; 023 public static String toString(int modifiers) { 024 String s = javafe.ast.Modifiers.toString(modifiers); 025 if (isModel(modifiers)) s = "model " + s; 026 // FIXME if (Utils.isPure(modifiers)) s = "pure " + s; 027 if (isHelper(modifiers)) s = "helper " + s; 028 return s; 029 } 030 031 }