001 package escjava;
002
003 import java.awt.Color;
004
005 public class Status {
006 final static public int ILLEGAL = -1; // A value that should only be used
007 // for temporary initialization
008 final static public int NOTPROCESSED = 0;
009 final static public int RESOLVED_OK = 1;
010 final static public int RESOLVED_CAUTION = 2;
011 final static public int RESOLVED_ERROR = 3;
012 final static public int RESOLVED_COMPLETE = RESOLVED_ERROR;
013 final static public int PARSED_OK = 4;
014 final static public int PARSED_CAUTION = 5;
015 final static public int PARSED_ERROR = 6;
016 final static public int PARSING_COMPLETE = PARSED_ERROR;
017 final static public int TYPECHECKED_ERROR = 7;
018 final static public int TYPECHECKED_CAUTION = 8;
019 final static public int TYPECHECKED_WAITING = 9;
020 final static public int TYPECHECKED_OK = 10;
021 final static public int TYPECHECK_COMPLETE = TYPECHECKED_OK;
022 final static public int STATICCHECKED_ERROR = 11;
023 final static public int STATICCHECKED_CAUTION = 12;
024 final static public int STATICCHECKED_OK = 13;
025 final static public int STATICCHECKED_PASSEDIMMED = 14;
026 final static public int STATICCHECKED_TIMEOUT = 15;
027 final static public int CHILDERROR = 16;
028
029 public static boolean isOK(int s) {
030 return s == RESOLVED_OK || s == PARSED_OK
031 || s == TYPECHECKED_OK || s == STATICCHECKED_OK
032 || s == TYPECHECKED_WAITING
033 || s == STATICCHECKED_PASSEDIMMED;
034 }
035
036 public static boolean isError(int s) {
037 return s == RESOLVED_ERROR || s == PARSED_ERROR
038 || s == TYPECHECKED_ERROR || s == STATICCHECKED_TIMEOUT
039 || s == STATICCHECKED_ERROR;
040 }
041
042 final static public boolean checkComplete(int s) {
043 return s > TYPECHECK_COMPLETE;
044 }
045
046 final static public boolean typecheckComplete(int s) {
047 return s > PARSING_COMPLETE;
048 }
049
050 final static public boolean parsingComplete(int s) {
051 return s > RESOLVED_COMPLETE;
052 }
053
054 final static public boolean resolved(int s) {
055 return s > NOTPROCESSED;
056 }
057
058 static public /*@ non_null @*/ String toString(int status) {
059 switch (status) {
060 case NOTPROCESSED: return "Not Processed";
061 case RESOLVED_OK: return "Resolved OK";
062 case RESOLVED_CAUTION: return "Resolved with Cautions";
063 case RESOLVED_ERROR: return "Resolved with Errors";
064 case PARSED_OK: return "Parsed OK";
065 case PARSED_CAUTION: return "Parsed with Cautions";
066 case PARSED_ERROR: return "Parsed with Errors";
067 case TYPECHECKED_ERROR: return "Typechecked with Errors";
068 case TYPECHECKED_CAUTION: return "Typechecked with Cautions";
069 case TYPECHECKED_WAITING: return "Typechecking children";
070 case TYPECHECKED_OK: return "Typechecked OK";
071 case STATICCHECKED_ERROR: return "Static checked with Warnings";
072 case STATICCHECKED_CAUTION: return "Static checked with Cautions";
073 case STATICCHECKED_OK: return "Static checked OK";
074 case STATICCHECKED_TIMEOUT: return "Static checking timed out";
075 case STATICCHECKED_PASSEDIMMED: return "Static checking passed - no body to check";
076 case CHILDERROR: return "Child node has an error";
077 }
078 return "ILLEGAL VALUE";
079 }
080
081 static public Color toColor(int status) {
082 switch (status) {
083 case TYPECHECKED_WAITING:
084 case NOTPROCESSED: return null;
085 case RESOLVED_ERROR:
086 case PARSED_ERROR: return ColorOptions.typecheckError;
087 case RESOLVED_CAUTION:
088 case PARSED_CAUTION: return ColorOptions.typecheckCaution;
089 case RESOLVED_OK:
090 case PARSED_OK: return ColorOptions.typecheckOK;
091 case TYPECHECKED_ERROR: return ColorOptions.typecheckError;
092 case TYPECHECKED_CAUTION: return ColorOptions.typecheckCaution;
093 case TYPECHECKED_OK: return ColorOptions.typecheckOK;
094 case STATICCHECKED_ERROR: return ColorOptions.staticcheckError;
095 case STATICCHECKED_CAUTION: return ColorOptions.typecheckCaution;
096 case STATICCHECKED_PASSEDIMMED: return ColorOptions.staticcheckOK;
097 case STATICCHECKED_OK: return ColorOptions.staticcheckOK;
098 case STATICCHECKED_TIMEOUT: return ColorOptions.staticcheckTimeout;
099 case CHILDERROR: return ColorOptions.childError;
100 }
101 return null;
102 }
103 }