public static Runtime.VarType GetTokenConstantVarType(this Tokenization.TokenType type, Runtime.VarType preferredNumber = Runtime.VarType.Integer) { if (type == Tokenization.TokenType.MetaString) { return(Runtime.VarType.MetaString); } else if (type == Tokenization.TokenType.Number) { return(preferredNumber); } else if (type == Tokenization.TokenType.String) { return(Runtime.VarType.String); } else if (type == Tokenization.TokenType.ResourceVar) { return(Runtime.VarType.ResourceVar); } else { throw new NotImplementedException(); } }
/// <summary> /// Note that this method treats identifiers as potential named constants. /// So extra checking must be done in the identifier handler. /// </summary> /// <param name="type"></param> /// <returns></returns> public static Boolean IsTokenConstant(this Tokenization.TokenType type) { return(type == Tokenization.TokenType.Identifier || type == Tokenization.TokenType.MetaString || type == Tokenization.TokenType.Number || type == Tokenization.TokenType.String || type == Tokenization.TokenType.ResourceVar); }