public Identifier(IdentifierToken token)
 {
     this.token = token;
 }
        private GurpsProperty getProperty(IdentifierToken token)
        {
            if (token.text == "level")
                if (enclosingProperty != null)
                    return enclosingProperty;

            if (nameToThing == null)
                throwNotAnIntError(token);
            try { return nameToThing[token.text]; }
            catch (KeyNotFoundException) { }

            throw token.parseThing.createError("name not defined '" + token.text + "'");
        }
 public void checkIsBoolean(IdentifierToken token)
 {
     if (token.text == "level")
         throwNotABooleanError(token);
     GurpsProperty property = getProperty(token);
     if (!(property is Advantage || property is AbstractSkill))
         throwNotABooleanError(token);
 }
 public void checkIsInt(IdentifierToken token)
 {
     GurpsProperty property = getProperty(token);
     if (!isInt(property))
         throwNotAnIntError(token);
 }
 public InheritedSkill(ParsedThing parsedThing, SkillDifficulty difficultyOverride, IdentifierToken parentSkillToken)
     : base(parsedThing)
 {
     this.difficultyOverride = difficultyOverride;
     this.parentSkillToken = parentSkillToken;
 }