public PseudoProcedure EnsurePseudoProcedure(string name, DataType returnType, int arity) { PseudoProcedure p; if (!pseudoProcs.TryGetValue(name, out p)) { p = new PseudoProcedure(name, returnType, arity); pseudoProcs[name] = p; } return(p); }
public PseudoProcedure EnsurePseudoProcedure(string name, FunctionType sig) { if (!PseudoProcedures.TryGetValue(name, out var de)) { de = new Dictionary <FunctionType, PseudoProcedure>(new DataTypeComparer()); PseudoProcedures[name] = de; } if (!de.TryGetValue(sig, out var intrinsic)) { intrinsic = new PseudoProcedure(name, sig); de.Add(sig, intrinsic); } return(intrinsic); }
public PseudoProcedure EnsurePseudoProcedure(string name, DataType returnType, int arity) { PseudoProcedure p; if (!pseudoProcs.TryGetValue(name, out p)) { p = new PseudoProcedure(name, returnType, arity); pseudoProcs[name] = p; } return p; }
public PseudoProcedure EnsurePseudoProcedure(string name, DataType returnType, int arity) { PseudoProcedure p; if (ppp.TryGetValue(name, out p)) return p; p = new PseudoProcedure(name, returnType, arity); ppp.Add(name, p); return p; }