private ZCallDesc ToZCallDesc(ZMethodDesc methodDesc) { ZCallDesc callDesc = new ZCallDesc(); foreach (var part in methodDesc.Parts) { if (part is string) { callDesc.Add(part); } else if (part is ZMethodNormalArg) { ZMethodNormalArg mna = part as ZMethodNormalArg; ZCallValueArg callArg = new ZCallValueArg(mna.ArgZType); callDesc.Add(callArg); } else if (part is ZMethodGenericArg) { ZMethodGenericArg mna = part as ZMethodGenericArg; ZCallValueArg callArg = new ZCallValueArg(mna.ArgBaseZType); callDesc.Add(callArg); } else { throw new CompileException(); } } return(callDesc); }
public ZMethodDesc Parser(string code) { i = 0; desc = new ZMethodDesc(); Code = code; while (i < Code.Length) { if (ch == '(') { parseBracket(); } else { parseText(); } } return(desc); }
public void AnalyName(NameTypeParser parser) { AnlayNameBody(parser); this.ProcContext.ProcDesc = ProcDesc; }