(factory ExprFactory, e *exprpb.Expr)
| 123 | } |
| 124 | |
| 125 | func exprInternal(factory ExprFactory, e *exprpb.Expr) (Expr, error) { |
| 126 | id := e.GetId() |
| 127 | switch e.GetExprKind().(type) { |
| 128 | case *exprpb.Expr_CallExpr: |
| 129 | return exprCall(factory, id, e.GetCallExpr()) |
| 130 | case *exprpb.Expr_ComprehensionExpr: |
| 131 | return exprComprehension(factory, id, e.GetComprehensionExpr()) |
| 132 | case *exprpb.Expr_ConstExpr: |
| 133 | return exprLiteral(factory, id, e.GetConstExpr()) |
| 134 | case *exprpb.Expr_IdentExpr: |
| 135 | return exprIdent(factory, id, e.GetIdentExpr()) |
| 136 | case *exprpb.Expr_ListExpr: |
| 137 | return exprList(factory, id, e.GetListExpr()) |
| 138 | case *exprpb.Expr_SelectExpr: |
| 139 | return exprSelect(factory, id, e.GetSelectExpr()) |
| 140 | case *exprpb.Expr_StructExpr: |
| 141 | s := e.GetStructExpr() |
| 142 | if s.GetMessageName() != "" { |
| 143 | return exprStruct(factory, id, s) |
| 144 | } |
| 145 | return exprMap(factory, id, s) |
| 146 | } |
| 147 | return factory.NewUnspecifiedExpr(id), nil |
| 148 | } |
| 149 | |
| 150 | func exprCall(factory ExprFactory, id int64, call *exprpb.Expr_Call) (Expr, error) { |
| 151 | var err error |
no test coverage detected