public override void GenerateBytecode(ClassesContainer container, ByteBlock context) { foreach (var parameter in Parameters) { parameter.GenerateBytecode(container, context); } AccessorTree.GenerateBytecode(container, context); }
public override void ValidateSemantics(SemanticsValidator validator) // methode accessible, nombre de parametres corrects. { foreach (var parameter in Parameters) { parameter.ValidateSemantics(validator); } AccessorTree = new AccessorTree(this, false); AccessorTree.ValidateSemantics(validator); Method target = AccessorTree.Last().GetTarget <Method>(); int requiredParameters = target.Parameters.Count; if (target.ParentClass.Type == ContainerType.primitive) { requiredParameters = requiredParameters - 1; } if (requiredParameters != Parameters.Count) { validator.AddError(Name + "() require " + requiredParameters + " parameters, but " + Parameters.Count + " was given", base.ParsingContext); } }