public MethodEvaluatorBase(FunctionHeaderContext header, ClassEvaluator parent) { Header = header; this.parent = parent; paramVariables.Add("this"); paramVariables.AddRange(header.ParamNames); }
internal static ConstructorEvaluator GenerateConstructor(ConstructorBuilder constructorBuilder, ClassEvaluator parent, string name) { var header = new FunctionHeaderContext(AccessModifiers.Public); header.Children.AddLast(new IdentifierContext() { Identifier = name }); return(new ConstructorEvaluator(constructorBuilder, header, parent)); }
private static void CheckFunctionHeader(FunctionHeaderContext root, string returnType, Action <CompileException, Context> onError, SymbolTable table) { for (int i = 1; i < root.Children.Count - 2; i++) { var v = (VariableDefinitionContext)root.Children.ElementAt(i); table.RegisterVariable(v.Name, v.Type, v); } CheckScopeBody(root.Children.Last.Value, returnType, onError, table); }
public MethodEvaluator(MethodBuilder methodBuilder, FunctionHeaderContext header, ClassEvaluator parent) : base(header, parent) { MethodBuilder = methodBuilder; }
public ConstructorEvaluator(ConstructorBuilder constructorBuilder, FunctionHeaderContext header, ClassEvaluator parent) : base(header, parent) { ConstructorBuilder = constructorBuilder; }