You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ChocoPy/pa2-tests/core/bad_expr_binary.py.ast.typed

455 lines
12 KiB

{
"kind" : "Program",
"location" : [ 1, 1, 13, 13 ],
"declarations" : [ ],
"statements" : [ {
"kind" : "ExprStmt",
"location" : [ 1, 1, 1, 7 ],
"expr" : {
"kind" : "BinaryExpr",
"location" : [ 1, 1, 1, 7 ],
"errorMsg" : "Cannot apply operator `and` on types `int` and `int`",
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"left" : {
"kind" : "IntegerLiteral",
"location" : [ 1, 1, 1, 1 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "int"
},
"value" : 1
},
"operator" : "and",
"right" : {
"kind" : "IntegerLiteral",
"location" : [ 1, 7, 1, 7 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "int"
},
"value" : 2
}
}
}, {
"kind" : "ExprStmt",
"location" : [ 2, 1, 2, 6 ],
"expr" : {
"kind" : "BinaryExpr",
"location" : [ 2, 1, 2, 6 ],
"errorMsg" : "Cannot apply operator `or` on types `int` and `int`",
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"left" : {
"kind" : "IntegerLiteral",
"location" : [ 2, 1, 2, 1 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "int"
},
"value" : 1
},
"operator" : "or",
"right" : {
"kind" : "IntegerLiteral",
"location" : [ 2, 6, 2, 6 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "int"
},
"value" : 2
}
}
}, {
"kind" : "ExprStmt",
"location" : [ 3, 1, 3, 12 ],
"expr" : {
"kind" : "BinaryExpr",
"location" : [ 3, 1, 3, 12 ],
"errorMsg" : "Cannot apply operator `-` on types `bool` and `bool`",
"inferredType" : {
"kind" : "ClassValueType",
"className" : "int"
},
"left" : {
"kind" : "BooleanLiteral",
"location" : [ 3, 1, 3, 4 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"value" : true
},
"operator" : "-",
"right" : {
"kind" : "BooleanLiteral",
"location" : [ 3, 8, 3, 12 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"value" : false
}
}
}, {
"kind" : "ExprStmt",
"location" : [ 4, 1, 4, 12 ],
"expr" : {
"kind" : "BinaryExpr",
"location" : [ 4, 1, 4, 12 ],
"errorMsg" : "Cannot apply operator `<` on types `bool` and `bool`",
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"left" : {
"kind" : "BooleanLiteral",
"location" : [ 4, 1, 4, 4 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"value" : true
},
"operator" : "<",
"right" : {
"kind" : "BooleanLiteral",
"location" : [ 4, 8, 4, 12 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"value" : false
}
}
}, {
"kind" : "ExprStmt",
"location" : [ 5, 1, 5, 8 ],
"expr" : {
"kind" : "BinaryExpr",
"location" : [ 5, 1, 5, 8 ],
"errorMsg" : "Cannot apply operator `+` on types `int` and `bool`",
"inferredType" : {
"kind" : "ClassValueType",
"className" : "int"
},
"left" : {
"kind" : "IntegerLiteral",
"location" : [ 5, 1, 5, 1 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "int"
},
"value" : 1
},
"operator" : "+",
"right" : {
"kind" : "BooleanLiteral",
"location" : [ 5, 5, 5, 8 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"value" : true
}
}
}, {
"kind" : "ExprStmt",
"location" : [ 6, 1, 6, 9 ],
"expr" : {
"kind" : "BinaryExpr",
"location" : [ 6, 1, 6, 9 ],
"errorMsg" : "Cannot apply operator `+` on types `bool` and `int`",
"inferredType" : {
"kind" : "ClassValueType",
"className" : "int"
},
"left" : {
"kind" : "BooleanLiteral",
"location" : [ 6, 1, 6, 5 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"value" : false
},
"operator" : "+",
"right" : {
"kind" : "IntegerLiteral",
"location" : [ 6, 9, 6, 9 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "int"
},
"value" : 0
}
}
}, {
"kind" : "ExprStmt",
"location" : [ 7, 1, 7, 9 ],
"expr" : {
"kind" : "BinaryExpr",
"location" : [ 7, 1, 7, 9 ],
"errorMsg" : "Cannot apply operator `==` on types `int` and `bool`",
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"left" : {
"kind" : "IntegerLiteral",
"location" : [ 7, 1, 7, 1 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "int"
},
"value" : 1
},
"operator" : "==",
"right" : {
"kind" : "BooleanLiteral",
"location" : [ 7, 6, 7, 9 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"value" : true
}
}
}, {
"kind" : "ExprStmt",
"location" : [ 8, 1, 8, 10 ],
"expr" : {
"kind" : "BinaryExpr",
"location" : [ 8, 1, 8, 10 ],
"errorMsg" : "Cannot apply operator `!=` on types `bool` and `int`",
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"left" : {
"kind" : "BooleanLiteral",
"location" : [ 8, 1, 8, 5 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"value" : false
},
"operator" : "!=",
"right" : {
"kind" : "IntegerLiteral",
"location" : [ 8, 10, 8, 10 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "int"
},
"value" : 0
}
}
}, {
"kind" : "ExprStmt",
"location" : [ 9, 1, 9, 6 ],
"expr" : {
"kind" : "BinaryExpr",
"location" : [ 9, 1, 9, 6 ],
"errorMsg" : "Cannot apply operator `is` on types `int` and `int`",
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"left" : {
"kind" : "IntegerLiteral",
"location" : [ 9, 1, 9, 1 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "int"
},
"value" : 1
},
"operator" : "is",
"right" : {
"kind" : "IntegerLiteral",
"location" : [ 9, 6, 9, 6 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "int"
},
"value" : 1
}
}
}, {
"kind" : "ExprStmt",
"location" : [ 10, 1, 10, 13 ],
"expr" : {
"kind" : "BinaryExpr",
"location" : [ 10, 1, 10, 13 ],
"errorMsg" : "Cannot apply operator `is` on types `bool` and `bool`",
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"left" : {
"kind" : "BooleanLiteral",
"location" : [ 10, 1, 10, 4 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"value" : true
},
"operator" : "is",
"right" : {
"kind" : "BooleanLiteral",
"location" : [ 10, 9, 10, 13 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"value" : false
}
}
}, {
"kind" : "ExprStmt",
"location" : [ 11, 1, 11, 11 ],
"expr" : {
"kind" : "BinaryExpr",
"location" : [ 11, 1, 11, 11 ],
"errorMsg" : "Cannot apply operator `+` on types `<None>` and `<None>`",
"inferredType" : {
"kind" : "ClassValueType",
"className" : "object"
},
"left" : {
"kind" : "NoneLiteral",
"location" : [ 11, 1, 11, 4 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "<None>"
}
},
"operator" : "+",
"right" : {
"kind" : "NoneLiteral",
"location" : [ 11, 8, 11, 11 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "<None>"
}
}
}
}, {
"kind" : "ExprStmt",
"location" : [ 12, 1, 12, 12 ],
"expr" : {
"kind" : "BinaryExpr",
"location" : [ 12, 1, 12, 12 ],
"errorMsg" : "Cannot apply operator `==` on types `<None>` and `<None>`",
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"left" : {
"kind" : "NoneLiteral",
"location" : [ 12, 1, 12, 4 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "<None>"
}
},
"operator" : "==",
"right" : {
"kind" : "NoneLiteral",
"location" : [ 12, 9, 12, 12 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "<None>"
}
}
}
}, {
"kind" : "ExprStmt",
"location" : [ 13, 1, 13, 12 ],
"expr" : {
"kind" : "BinaryExpr",
"location" : [ 13, 1, 13, 12 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "bool"
},
"left" : {
"kind" : "NoneLiteral",
"location" : [ 13, 1, 13, 4 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "<None>"
}
},
"operator" : "is",
"right" : {
"kind" : "NoneLiteral",
"location" : [ 13, 9, 13, 12 ],
"inferredType" : {
"kind" : "ClassValueType",
"className" : "<None>"
}
}
}
} ],
"errors" : {
"errors" : [ {
"kind" : "CompilerError",
"location" : [ 1, 1, 1, 7 ],
"message" : "Cannot apply operator `and` on types `int` and `int`"
}, {
"kind" : "CompilerError",
"location" : [ 2, 1, 2, 6 ],
"message" : "Cannot apply operator `or` on types `int` and `int`"
}, {
"kind" : "CompilerError",
"location" : [ 3, 1, 3, 12 ],
"message" : "Cannot apply operator `-` on types `bool` and `bool`"
}, {
"kind" : "CompilerError",
"location" : [ 4, 1, 4, 12 ],
"message" : "Cannot apply operator `<` on types `bool` and `bool`"
}, {
"kind" : "CompilerError",
"location" : [ 5, 1, 5, 8 ],
"message" : "Cannot apply operator `+` on types `int` and `bool`"
}, {
"kind" : "CompilerError",
"location" : [ 6, 1, 6, 9 ],
"message" : "Cannot apply operator `+` on types `bool` and `int`"
}, {
"kind" : "CompilerError",
"location" : [ 7, 1, 7, 9 ],
"message" : "Cannot apply operator `==` on types `int` and `bool`"
}, {
"kind" : "CompilerError",
"location" : [ 8, 1, 8, 10 ],
"message" : "Cannot apply operator `!=` on types `bool` and `int`"
}, {
"kind" : "CompilerError",
"location" : [ 9, 1, 9, 6 ],
"message" : "Cannot apply operator `is` on types `int` and `int`"
}, {
"kind" : "CompilerError",
"location" : [ 10, 1, 10, 13 ],
"message" : "Cannot apply operator `is` on types `bool` and `bool`"
}, {
"kind" : "CompilerError",
"location" : [ 11, 1, 11, 11 ],
"message" : "Cannot apply operator `+` on types `<None>` and `<None>`"
}, {
"kind" : "CompilerError",
"location" : [ 12, 1, 12, 12 ],
"message" : "Cannot apply operator `==` on types `<None>` and `<None>`"
} ],
"kind" : "Errors",
"location" : [ 0, 0, 0, 0 ]
}
}