-- File generated by the BNF Converter. -- Templates for pattern matching on abstract syntax {-# LANGUAGE GADTs #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} module SkelJava where import Prelude (($), Either(..), String, (++), Show, show) import qualified AbsJava type Err = Either String type Result = Err String failure :: Show a => a -> Result failure x = Left $ "Undefined case: " ++ show x transTree :: AbsJava.Tree c -> Result transTree t = case t of AbsJava.ProgF imports typeDeclarations -> failure t AbsJava.Prpkg idents semis imports typeDeclarations -> failure t AbsJava.ImportA idents semis -> failure t AbsJava.ImportN idents semis -> failure t AbsJava.TypeDecl classHeader fieldDeclarations -> failure t AbsJava.ClassDec modifiers x -> failure t AbsJava.ClassDecE modifiers x typeNames -> failure t AbsJava.ClassDecEI modifiers x typeNames1 typeNames2 -> failure t AbsJava.ClassDecI modifiers x typeNames -> failure t AbsJava.InterDec modifiers x -> failure t AbsJava.InterDecE modifiers x typeNames -> failure t AbsJava.InterDecEI modifiers x typeNames1 typeNames2 -> failure t AbsJava.InterDecI modifiers x typeNames -> failure t AbsJava.Dblk body -> failure t AbsJava.Dconst modifiers x parameters body -> failure t AbsJava.Dconstt modifiers x parameters typeNames body -> failure t AbsJava.Dinnerclass typeDeclaration -> failure t AbsJava.Dmth modifiers typeSpec methodDecl methodBody -> failure t AbsJava.Dmthth modifiers typeSpec methodDecl typeNames methodBody -> failure t AbsJava.Dvar modifiers typeSpec varDecls -> failure t AbsJava.IBody -> failure t AbsJava.MBody body -> failure t AbsJava.LVar typeSpec varDecls -> failure t AbsJava.LVarf typeSpec varDecls -> failure t AbsJava.Statem stm -> failure t AbsJava.BodyImpl lVarStatements -> failure t AbsJava.Case exp -> failure t AbsJava.Dflt -> failure t AbsJava.Exps exp -> failure t AbsJava.Grd guardStm -> failure t AbsJava.Iter iterStm -> failure t AbsJava.Jmp jumpStm -> failure t AbsJava.LV lVarStatements -> failure t AbsJava.Lbl x -> failure t AbsJava.Sel selectionStm -> failure t AbsJava.Sem -> failure t AbsJava.DeclArray x bracketsOpts -> failure t AbsJava.DeclName x -> failure t AbsJava.VDecl x -> failure t AbsJava.VDeclAssign declaratorName variableInits -> failure t AbsJava.IArri arrayInits -> failure t AbsJava.IEmpt -> failure t AbsJava.IExp exp -> failure t AbsJava.Vai arrayInits variableInits -> failure t AbsJava.Vainit variableInits -> failure t AbsJava.Vais arrayInits -> failure t AbsJava.Mth declaratorName parameters -> failure t AbsJava.MthdArr methodDecl bracketsOpt -> failure t AbsJava.Param typeSpec declaratorName -> failure t AbsJava.Pfinal typeSpec declaratorName -> failure t AbsJava.If exp stm1 elseIfStms stm2 -> failure t AbsJava.Ifone exp stm elseIfStms -> failure t AbsJava.Switch exp body -> failure t AbsJava.Elseif exp stm -> failure t AbsJava.Break -> failure t AbsJava.Brlabel x -> failure t AbsJava.Continue -> failure t AbsJava.Continuelabel x -> failure t AbsJava.Return -> failure t AbsJava.ReturnExp exp -> failure t AbsJava.Throw exp -> failure t AbsJava.Synchronized exp body -> failure t AbsJava.Try body catchs -> failure t AbsJava.Tryfinally body1 catchs body2 -> failure t AbsJava.Catch1 typeSpec x body -> failure t AbsJava.Catch2 typeSpec body -> failure t AbsJava.Do stm exp -> failure t AbsJava.For forInit exps1 exps2 stm -> failure t AbsJava.While exp stm -> failure t AbsJava.DeclVar typeSpec varDecls -> failure t AbsJava.DeclVarFinal typeSpec varDecls -> failure t AbsJava.Exprs1 exps -> failure t AbsJava.Mabstract -> failure t AbsJava.Mfinal -> failure t AbsJava.Mnative -> failure t AbsJava.Mprivate -> failure t AbsJava.Mprotected -> failure t AbsJava.Mpublic -> failure t AbsJava.Mstatic -> failure t AbsJava.Msync -> failure t AbsJava.Mtransient -> failure t AbsJava.Mvolatile -> failure t AbsJava.Tboolean -> failure t AbsJava.Tbyte -> failure t AbsJava.Tchar -> failure t AbsJava.Tdouble -> failure t AbsJava.Tfloat -> failure t AbsJava.Tint -> failure t AbsJava.Tlong -> failure t AbsJava.Tshort -> failure t AbsJava.ArrayType typeName bracketsOpts -> failure t AbsJava.NamedType typeName -> failure t AbsJava.BuiltIn basicType -> failure t AbsJava.ClassType idents -> failure t AbsJava.BracketsEmpty -> failure t AbsJava.Earr arrAcc -> failure t AbsJava.Earrcoercion idents bracketsOpts exp -> failure t AbsJava.Eassign exp1 assignment_op exp2 -> failure t AbsJava.Ebcoercion basicType exp -> failure t AbsJava.Ebitand exp1 exp2 -> failure t AbsJava.Ebitexor exp1 exp2 -> failure t AbsJava.Ebitor exp1 exp2 -> failure t AbsJava.Econdition exp1 exp2 exp3 -> failure t AbsJava.Econst constant -> failure t AbsJava.Ediv exp1 exp2 -> failure t AbsJava.Eeq exp1 exp2 -> failure t AbsJava.Eexpcoercion exp1 exp2 -> failure t AbsJava.Efld fieldAcc -> failure t AbsJava.Ege exp1 exp2 -> failure t AbsJava.Egrthen exp1 exp2 -> failure t AbsJava.Eland exp1 exp2 -> failure t AbsJava.Ele exp1 exp2 -> failure t AbsJava.Eleft exp1 exp2 -> failure t AbsJava.Elor exp1 exp2 -> failure t AbsJava.Elthen exp1 exp2 -> failure t AbsJava.Eminus exp1 exp2 -> failure t AbsJava.Emod exp1 exp2 -> failure t AbsJava.Emth mthCall -> failure t AbsJava.Eneq exp1 exp2 -> failure t AbsJava.Enewalloc newAlloc -> failure t AbsJava.Eplus exp1 exp2 -> failure t AbsJava.Epostdec exp -> failure t AbsJava.Epostinc exp -> failure t AbsJava.Epredec exp -> failure t AbsJava.Epreinc exp -> failure t AbsJava.Epreop unary_operator exp -> failure t AbsJava.Eright exp1 exp2 -> failure t AbsJava.Especname specName -> failure t AbsJava.Estring str -> failure t AbsJava.Etimes exp1 exp2 -> failure t AbsJava.Etrip exp1 exp2 -> failure t AbsJava.Etype exp typeName -> failure t AbsJava.Evar idents -> failure t AbsJava.SSnull -> failure t AbsJava.SSsuper -> failure t AbsJava.SSthis -> failure t AbsJava.Anewarray typeName dimExprs -> failure t AbsJava.Anewarriempty typeName dimExprs -> failure t AbsJava.Anewarrinits typeName dimExprs arrayInits -> failure t AbsJava.Anewclass typeName args -> failure t AbsJava.Anewinnerclass typeName args fieldDeclarations -> failure t AbsJava.Aarr idents exp -> failure t AbsJava.Aarr1 specExp exp -> failure t AbsJava.Cep exp -> failure t AbsJava.Cnp specExpNP -> failure t AbsJava.Cthis specName -> failure t AbsJava.CNLit constant -> failure t AbsJava.CNParr arrAcc -> failure t AbsJava.CNPfld fieldAcc -> failure t AbsJava.CNPmth mthCall -> failure t AbsJava.Mmth idents args -> failure t AbsJava.Mmth1 specExpNP args -> failure t AbsJava.Mmthspec specName args -> failure t AbsJava.Fclass idents -> failure t AbsJava.Ffclass2 basicType -> failure t AbsJava.Ffthis idents -> failure t AbsJava.Ffvar specExp x -> failure t AbsJava.Ffvar1 newAlloc x -> failure t AbsJava.ArgList exps -> failure t AbsJava.Dim exp -> failure t AbsJava.Ecdouble jDouble -> failure t AbsJava.Ecfloat jFloat -> failure t AbsJava.Echar jChar -> failure t AbsJava.Eclongdouble jLongDouble -> failure t AbsJava.Edouble d -> failure t AbsJava.Efalse -> failure t AbsJava.Efloat d -> failure t AbsJava.Ehexadec hexadecimal -> failure t AbsJava.Ehexalong hexLong -> failure t AbsJava.Ehexaunsign hexUnsigned -> failure t AbsJava.Ehexaunslong hexUnsLong -> failure t AbsJava.Eint n -> failure t AbsJava.Elong long -> failure t AbsJava.Elonger n -> failure t AbsJava.Eoctal octal -> failure t AbsJava.Eoctallong octalLong -> failure t AbsJava.Eoctalunsign octalUnsigned -> failure t AbsJava.Eoctalunslong octalUnsLong -> failure t AbsJava.Etrue -> failure t AbsJava.Eunicode unicodeChar -> failure t AbsJava.Eunsigned unsigned -> failure t AbsJava.Eunsignlong unsignedLong -> failure t AbsJava.Complement -> failure t AbsJava.Logicalneg -> failure t AbsJava.Negative -> failure t AbsJava.Plus -> failure t AbsJava.Assign -> failure t AbsJava.AssignAdd -> failure t AbsJava.AssignAnd -> failure t AbsJava.AssignDiv -> failure t AbsJava.AssignLeft -> failure t AbsJava.AssignMod -> failure t AbsJava.AssignMul -> failure t AbsJava.AssignOr -> failure t AbsJava.AssignRight -> failure t AbsJava.AssignSub -> failure t AbsJava.AssignTrip -> failure t AbsJava.AssignXor -> failure t AbsJava.Sem1 -> failure t transIdent :: AbsJava.Ident -> Result transIdent x = case x of AbsJava.Ident string -> failure x transUnsigned :: AbsJava.Unsigned -> Result transUnsigned x = case x of AbsJava.Unsigned string -> failure x transLong :: AbsJava.Long -> Result transLong x = case x of AbsJava.Long string -> failure x transUnsignedLong :: AbsJava.UnsignedLong -> Result transUnsignedLong x = case x of AbsJava.UnsignedLong string -> failure x transHexadecimal :: AbsJava.Hexadecimal -> Result transHexadecimal x = case x of AbsJava.Hexadecimal string -> failure x transHexUnsigned :: AbsJava.HexUnsigned -> Result transHexUnsigned x = case x of AbsJava.HexUnsigned string -> failure x transHexLong :: AbsJava.HexLong -> Result transHexLong x = case x of AbsJava.HexLong string -> failure x transHexUnsLong :: AbsJava.HexUnsLong -> Result transHexUnsLong x = case x of AbsJava.HexUnsLong string -> failure x transOctal :: AbsJava.Octal -> Result transOctal x = case x of AbsJava.Octal string -> failure x transOctalUnsigned :: AbsJava.OctalUnsigned -> Result transOctalUnsigned x = case x of AbsJava.OctalUnsigned string -> failure x transOctalLong :: AbsJava.OctalLong -> Result transOctalLong x = case x of AbsJava.OctalLong string -> failure x transOctalUnsLong :: AbsJava.OctalUnsLong -> Result transOctalUnsLong x = case x of AbsJava.OctalUnsLong string -> failure x transJDouble :: AbsJava.JDouble -> Result transJDouble x = case x of AbsJava.JDouble string -> failure x transJFloat :: AbsJava.JFloat -> Result transJFloat x = case x of AbsJava.JFloat string -> failure x transJLongDouble :: AbsJava.JLongDouble -> Result transJLongDouble x = case x of AbsJava.JLongDouble string -> failure x transUnicodeChar :: AbsJava.UnicodeChar -> Result transUnicodeChar x = case x of AbsJava.UnicodeChar string -> failure x transJChar :: AbsJava.JChar -> Result transJChar x = case x of AbsJava.JChar string -> failure x transProgramFile :: AbsJava.ProgramFile -> Result transProgramFile x = case x of AbsJava.ProgF imports typeDeclarations -> failure x AbsJava.Prpkg idents semis imports typeDeclarations -> failure x transImport :: AbsJava.Import -> Result transImport x = case x of AbsJava.ImportA idents semis -> failure x AbsJava.ImportN idents semis -> failure x transTypeDeclaration :: AbsJava.TypeDeclaration -> Result transTypeDeclaration x = case x of AbsJava.TypeDecl classHeader fieldDeclarations -> failure x transClassHeader :: AbsJava.ClassHeader -> Result transClassHeader x = case x of AbsJava.ClassDec modifiers x -> failure x AbsJava.ClassDecE modifiers x typeNames -> failure x AbsJava.ClassDecEI modifiers x typeNames1 typeNames2 -> failure x AbsJava.ClassDecI modifiers x typeNames -> failure x AbsJava.InterDec modifiers x -> failure x AbsJava.InterDecE modifiers x typeNames -> failure x AbsJava.InterDecEI modifiers x typeNames1 typeNames2 -> failure x AbsJava.InterDecI modifiers x typeNames -> failure x transFieldDeclaration :: AbsJava.FieldDeclaration -> Result transFieldDeclaration x = case x of AbsJava.Dblk body -> failure x AbsJava.Dconst modifiers x parameters body -> failure x AbsJava.Dconstt modifiers x parameters typeNames body -> failure x AbsJava.Dinnerclass typeDeclaration -> failure x AbsJava.Dmth modifiers typeSpec methodDecl methodBody -> failure x AbsJava.Dmthth modifiers typeSpec methodDecl typeNames methodBody -> failure x AbsJava.Dvar modifiers typeSpec varDecls -> failure x transMethodBody :: AbsJava.MethodBody -> Result transMethodBody x = case x of AbsJava.IBody -> failure x AbsJava.MBody body -> failure x transLVarStatement :: AbsJava.LVarStatement -> Result transLVarStatement x = case x of AbsJava.LVar typeSpec varDecls -> failure x AbsJava.LVarf typeSpec varDecls -> failure x AbsJava.Statem stm -> failure x transBody :: AbsJava.Body -> Result transBody x = case x of AbsJava.BodyImpl lVarStatements -> failure x transStm :: AbsJava.Stm -> Result transStm x = case x of AbsJava.Case exp -> failure x AbsJava.Dflt -> failure x AbsJava.Exps exp -> failure x AbsJava.Grd guardStm -> failure x AbsJava.Iter iterStm -> failure x AbsJava.Jmp jumpStm -> failure x AbsJava.LV lVarStatements -> failure x AbsJava.Lbl x -> failure x AbsJava.Sel selectionStm -> failure x AbsJava.Sem -> failure x transDeclaratorName :: AbsJava.DeclaratorName -> Result transDeclaratorName x = case x of AbsJava.DeclArray x bracketsOpts -> failure x AbsJava.DeclName x -> failure x transVarDecl :: AbsJava.VarDecl -> Result transVarDecl x = case x of AbsJava.VDecl x -> failure x AbsJava.VDeclAssign declaratorName variableInits -> failure x transVariableInits :: AbsJava.VariableInits -> Result transVariableInits x = case x of AbsJava.IArri arrayInits -> failure x AbsJava.IEmpt -> failure x AbsJava.IExp exp -> failure x transArrayInits :: AbsJava.ArrayInits -> Result transArrayInits x = case x of AbsJava.Vai arrayInits variableInits -> failure x AbsJava.Vainit variableInits -> failure x AbsJava.Vais arrayInits -> failure x transMethodDecl :: AbsJava.MethodDecl -> Result transMethodDecl x = case x of AbsJava.Mth declaratorName parameters -> failure x AbsJava.MthdArr methodDecl bracketsOpt -> failure x transParameter :: AbsJava.Parameter -> Result transParameter x = case x of AbsJava.Param typeSpec declaratorName -> failure x AbsJava.Pfinal typeSpec declaratorName -> failure x transSelectionStm :: AbsJava.SelectionStm -> Result transSelectionStm x = case x of AbsJava.If exp stm1 elseIfStms stm2 -> failure x AbsJava.Ifone exp stm elseIfStms -> failure x AbsJava.Switch exp body -> failure x transElseIfStm :: AbsJava.ElseIfStm -> Result transElseIfStm x = case x of AbsJava.Elseif exp stm -> failure x transJumpStm :: AbsJava.JumpStm -> Result transJumpStm x = case x of AbsJava.Break -> failure x AbsJava.Brlabel x -> failure x AbsJava.Continue -> failure x AbsJava.Continuelabel x -> failure x AbsJava.Return -> failure x AbsJava.ReturnExp exp -> failure x AbsJava.Throw exp -> failure x transGuardStm :: AbsJava.GuardStm -> Result transGuardStm x = case x of AbsJava.Synchronized exp body -> failure x AbsJava.Try body catchs -> failure x AbsJava.Tryfinally body1 catchs body2 -> failure x transCatch :: AbsJava.Catch -> Result transCatch x = case x of AbsJava.Catch1 typeSpec x body -> failure x AbsJava.Catch2 typeSpec body -> failure x transIterStm :: AbsJava.IterStm -> Result transIterStm x = case x of AbsJava.Do stm exp -> failure x AbsJava.For forInit exps1 exps2 stm -> failure x AbsJava.While exp stm -> failure x transForInit :: AbsJava.ForInit -> Result transForInit x = case x of AbsJava.DeclVar typeSpec varDecls -> failure x AbsJava.DeclVarFinal typeSpec varDecls -> failure x AbsJava.Exprs1 exps -> failure x transModifier :: AbsJava.Modifier -> Result transModifier x = case x of AbsJava.Mabstract -> failure x AbsJava.Mfinal -> failure x AbsJava.Mnative -> failure x AbsJava.Mprivate -> failure x AbsJava.Mprotected -> failure x AbsJava.Mpublic -> failure x AbsJava.Mstatic -> failure x AbsJava.Msync -> failure x AbsJava.Mtransient -> failure x AbsJava.Mvolatile -> failure x transBasicType :: AbsJava.BasicType -> Result transBasicType x = case x of AbsJava.Tboolean -> failure x AbsJava.Tbyte -> failure x AbsJava.Tchar -> failure x AbsJava.Tdouble -> failure x AbsJava.Tfloat -> failure x AbsJava.Tint -> failure x AbsJava.Tlong -> failure x AbsJava.Tshort -> failure x transTypeSpec :: AbsJava.TypeSpec -> Result transTypeSpec x = case x of AbsJava.ArrayType typeName bracketsOpts -> failure x AbsJava.NamedType typeName -> failure x transTypeName :: AbsJava.TypeName -> Result transTypeName x = case x of AbsJava.BuiltIn basicType -> failure x AbsJava.ClassType idents -> failure x transBracketsOpt :: AbsJava.BracketsOpt -> Result transBracketsOpt x = case x of AbsJava.BracketsEmpty -> failure x transExp :: AbsJava.Exp -> Result transExp x = case x of AbsJava.Earr arrAcc -> failure x AbsJava.Earrcoercion idents bracketsOpts exp -> failure x AbsJava.Eassign exp1 assignment_op exp2 -> failure x AbsJava.Ebcoercion basicType exp -> failure x AbsJava.Ebitand exp1 exp2 -> failure x AbsJava.Ebitexor exp1 exp2 -> failure x AbsJava.Ebitor exp1 exp2 -> failure x AbsJava.Econdition exp1 exp2 exp3 -> failure x AbsJava.Econst constant -> failure x AbsJava.Ediv exp1 exp2 -> failure x AbsJava.Eeq exp1 exp2 -> failure x AbsJava.Eexpcoercion exp1 exp2 -> failure x AbsJava.Efld fieldAcc -> failure x AbsJava.Ege exp1 exp2 -> failure x AbsJava.Egrthen exp1 exp2 -> failure x AbsJava.Eland exp1 exp2 -> failure x AbsJava.Ele exp1 exp2 -> failure x AbsJava.Eleft exp1 exp2 -> failure x AbsJava.Elor exp1 exp2 -> failure x AbsJava.Elthen exp1 exp2 -> failure x AbsJava.Eminus exp1 exp2 -> failure x AbsJava.Emod exp1 exp2 -> failure x AbsJava.Emth mthCall -> failure x AbsJava.Eneq exp1 exp2 -> failure x AbsJava.Enewalloc newAlloc -> failure x AbsJava.Eplus exp1 exp2 -> failure x AbsJava.Epostdec exp -> failure x AbsJava.Epostinc exp -> failure x AbsJava.Epredec exp -> failure x AbsJava.Epreinc exp -> failure x AbsJava.Epreop unary_operator exp -> failure x AbsJava.Eright exp1 exp2 -> failure x AbsJava.Especname specName -> failure x AbsJava.Estring str -> failure x AbsJava.Etimes exp1 exp2 -> failure x AbsJava.Etrip exp1 exp2 -> failure x AbsJava.Etype exp typeName -> failure x AbsJava.Evar idents -> failure x transSpecName :: AbsJava.SpecName -> Result transSpecName x = case x of AbsJava.SSnull -> failure x AbsJava.SSsuper -> failure x AbsJava.SSthis -> failure x transNewAlloc :: AbsJava.NewAlloc -> Result transNewAlloc x = case x of AbsJava.Anewarray typeName dimExprs -> failure x AbsJava.Anewarriempty typeName dimExprs -> failure x AbsJava.Anewarrinits typeName dimExprs arrayInits -> failure x AbsJava.Anewclass typeName args -> failure x AbsJava.Anewinnerclass typeName args fieldDeclarations -> failure x transArrAcc :: AbsJava.ArrAcc -> Result transArrAcc x = case x of AbsJava.Aarr idents exp -> failure x AbsJava.Aarr1 specExp exp -> failure x transSpecExp :: AbsJava.SpecExp -> Result transSpecExp x = case x of AbsJava.Cep exp -> failure x AbsJava.Cnp specExpNP -> failure x AbsJava.Cthis specName -> failure x transSpecExpNP :: AbsJava.SpecExpNP -> Result transSpecExpNP x = case x of AbsJava.CNLit constant -> failure x AbsJava.CNParr arrAcc -> failure x AbsJava.CNPfld fieldAcc -> failure x AbsJava.CNPmth mthCall -> failure x transMthCall :: AbsJava.MthCall -> Result transMthCall x = case x of AbsJava.Mmth idents args -> failure x AbsJava.Mmth1 specExpNP args -> failure x AbsJava.Mmthspec specName args -> failure x transFieldAcc :: AbsJava.FieldAcc -> Result transFieldAcc x = case x of AbsJava.Fclass idents -> failure x AbsJava.Ffclass2 basicType -> failure x AbsJava.Ffthis idents -> failure x AbsJava.Ffvar specExp x -> failure x AbsJava.Ffvar1 newAlloc x -> failure x transArgs :: AbsJava.Args -> Result transArgs x = case x of AbsJava.ArgList exps -> failure x transDimExpr :: AbsJava.DimExpr -> Result transDimExpr x = case x of AbsJava.Dim exp -> failure x transConstant :: AbsJava.Constant -> Result transConstant x = case x of AbsJava.Ecdouble jDouble -> failure x AbsJava.Ecfloat jFloat -> failure x AbsJava.Echar jChar -> failure x AbsJava.Eclongdouble jLongDouble -> failure x AbsJava.Edouble d -> failure x AbsJava.Efalse -> failure x AbsJava.Efloat d -> failure x AbsJava.Ehexadec hexadecimal -> failure x AbsJava.Ehexalong hexLong -> failure x AbsJava.Ehexaunsign hexUnsigned -> failure x AbsJava.Ehexaunslong hexUnsLong -> failure x AbsJava.Eint n -> failure x AbsJava.Elong long -> failure x AbsJava.Elonger n -> failure x AbsJava.Eoctal octal -> failure x AbsJava.Eoctallong octalLong -> failure x AbsJava.Eoctalunsign octalUnsigned -> failure x AbsJava.Eoctalunslong octalUnsLong -> failure x AbsJava.Etrue -> failure x AbsJava.Eunicode unicodeChar -> failure x AbsJava.Eunsigned unsigned -> failure x AbsJava.Eunsignlong unsignedLong -> failure x transUnary_operator :: AbsJava.Unary_operator -> Result transUnary_operator x = case x of AbsJava.Complement -> failure x AbsJava.Logicalneg -> failure x AbsJava.Negative -> failure x AbsJava.Plus -> failure x transAssignment_op :: AbsJava.Assignment_op -> Result transAssignment_op x = case x of AbsJava.Assign -> failure x AbsJava.AssignAdd -> failure x AbsJava.AssignAnd -> failure x AbsJava.AssignDiv -> failure x AbsJava.AssignLeft -> failure x AbsJava.AssignMod -> failure x AbsJava.AssignMul -> failure x AbsJava.AssignOr -> failure x AbsJava.AssignRight -> failure x AbsJava.AssignSub -> failure x AbsJava.AssignTrip -> failure x AbsJava.AssignXor -> failure x transSemi :: AbsJava.Semi -> Result transSemi x = case x of AbsJava.Sem1 -> failure x