private D_Piece makePiece(PieceTokenizer f) { var g = f.reStart(); D_Piece piece = new D_Piece(); D_PieceWrap d; D_PieceKernalOr c; if ((d = makePieceWrap(f)) != null) { piece.PieceClause = D_Piece.D_PieceClause.PieceWrap; piece.PieceWrap = d; } else if ((c = makePieceKernalOr(f)) != null) { piece.PieceClause = D_Piece.D_PieceClause.PieceKernalOr; piece.PieceKernalOr = c; } else return null; return piece; }
private Tuple<string, string> buildPiece(VariableTracker vt, D_Piece piece, D_Item item) { StringBuilder cls = new StringBuilder(); StringBuilder method = new StringBuilder(); Tuple<string, string> v; switch (piece.PieceClause) { case D_Piece.D_PieceClause.PieceWrap: v = buildPieceWrap(vt, piece.PieceWrap, item); cls.Append(v.Item1); method.Append(v.Item2); break; case D_Piece.D_PieceClause.PieceKernalOr: v = buildPieceKernalOr(vt, piece.PieceKernalOr, item); cls.Append(v.Item1); method.Append(v.Item2); break; default: throw new ArgumentOutOfRangeException(); } return new Tuple<string, string>(cls.ToString(), method.ToString()); }