Пример #1
0
        public void ValidateSemantics(SemanticsValidator validator)
        {
            if (ParentClass.Type == ContainerType.@struct && IsMainPointEntry())
            {
                validator.AddError("Main point entry cannot be member of struct \"" + ParentClass.ClassName + "\"", Context);
            }
            if (ParentClass.Type == ContainerType.primitive && Parameters.Count == 0)
            {
                validator.AddError("Primitive method " + Name + " should have self has parameter.", Context);
            }
            foreach (var param in Parameters)
            {
                validator.DeclareVariable(param);
            }

            foreach (var statement in this.Statements)
            {
                statement.ValidateSemantics(validator);
            }
        }
Пример #2
0
 public override void ValidateSemantics(SemanticsValidator validator)
 {
     Value.ValidateSemantics(validator);
     validator.DeclareVariable(Variable);
 }