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); } }
public override void ValidateSemantics(SemanticsValidator validator) { Value.ValidateSemantics(validator); validator.DeclareVariable(Variable); }