|
@@ -128,7 +128,7 @@ and texpr_expr =
|
|
|
| TThrow of texpr
|
|
|
| TCast of texpr * module_type option
|
|
|
| TMeta of metadata_entry * texpr
|
|
|
- | TEnumParameter of texpr * int
|
|
|
+ | TEnumParameter of texpr * tenum_field * int
|
|
|
|
|
|
and tfield_access =
|
|
|
| FInstance of tclass * tclass_field
|
|
@@ -1309,7 +1309,7 @@ let iter f e =
|
|
|
f e2;
|
|
|
| TThrow e
|
|
|
| TField (e,_)
|
|
|
- | TEnumParameter (e,_)
|
|
|
+ | TEnumParameter (e,_,_)
|
|
|
| TParenthesis e
|
|
|
| TCast (e,_)
|
|
|
| TUnop (_,_,e)
|
|
@@ -1378,8 +1378,8 @@ let map_expr f e =
|
|
|
{ e with eexpr = TWhile (f e1,f e2,flag) }
|
|
|
| TThrow e1 ->
|
|
|
{ e with eexpr = TThrow (f e1) }
|
|
|
- | TEnumParameter (e1,i) ->
|
|
|
- { e with eexpr = TEnumParameter(f e1,i) }
|
|
|
+ | TEnumParameter (e1,ef,i) ->
|
|
|
+ { e with eexpr = TEnumParameter(f e1,ef,i) }
|
|
|
| TField (e1,v) ->
|
|
|
{ e with eexpr = TField (f e1,v) }
|
|
|
| TParenthesis e1 ->
|
|
@@ -1442,8 +1442,8 @@ let map_expr_type f ft fv e =
|
|
|
{ e with eexpr = TWhile (f e1,f e2,flag); etype = ft e.etype }
|
|
|
| TThrow e1 ->
|
|
|
{ e with eexpr = TThrow (f e1); etype = ft e.etype }
|
|
|
- | TEnumParameter (e1,i) ->
|
|
|
- { e with eexpr = TEnumParameter(f e1,i); etype = ft e.etype }
|
|
|
+ | TEnumParameter (e1,ef,i) ->
|
|
|
+ { e with eexpr = TEnumParameter(f e1,ef,i); etype = ft e.etype }
|
|
|
| TField (e1,v) ->
|
|
|
{ e with eexpr = TField (f e1,v); etype = ft e.etype }
|
|
|
| TParenthesis e1 ->
|
|
@@ -1501,7 +1501,7 @@ let s_expr_kind e =
|
|
|
| TLocal _ -> "Local"
|
|
|
| TArray (_,_) -> "Array"
|
|
|
| TBinop (_,_,_) -> "Binop"
|
|
|
- | TEnumParameter (_,_) -> "EnumParameter"
|
|
|
+ | TEnumParameter (_,_,_) -> "EnumParameter"
|
|
|
| TField (_,_) -> "Field"
|
|
|
| TTypeExpr _ -> "TypeExpr"
|
|
|
| TParenthesis _ -> "Parenthesis"
|
|
@@ -1549,7 +1549,7 @@ let rec s_expr s_type e =
|
|
|
sprintf "%s[%s]" (loop e1) (loop e2)
|
|
|
| TBinop (op,e1,e2) ->
|
|
|
sprintf "(%s %s %s)" (loop e1) (s_binop op) (loop e2)
|
|
|
- | TEnumParameter (e1,i) ->
|
|
|
+ | TEnumParameter (e1,_,i) ->
|
|
|
sprintf "%s[%i]" (loop e1) i
|
|
|
| TField (e,f) ->
|
|
|
let fstr = (match f with
|
|
@@ -1638,7 +1638,7 @@ let rec s_expr_pretty tabs s_type e =
|
|
|
| TLocal v -> v.v_name
|
|
|
| TArray (e1,e2) -> sprintf "%s[%s]" (loop e1) (loop e2)
|
|
|
| TBinop (op,e1,e2) -> sprintf "%s %s %s" (loop e1) (s_binop op) (loop e2)
|
|
|
- | TEnumParameter (e1,i) -> sprintf "%s[%i]" (loop e1) i
|
|
|
+ | TEnumParameter (e1,_,i) -> sprintf "%s[%i]" (loop e1) i
|
|
|
| TField (e1,s) -> sprintf "%s.%s" (loop e1) (field_name s)
|
|
|
| TTypeExpr mt -> (s_type_path (t_path mt))
|
|
|
| TParenthesis e1 -> sprintf "(%s)" (loop e1)
|