Ignore:
Timestamp:
May 19, 2020, 5:31:20 PM (21 months ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
arm-eh, jacob/cs343-translation, master, new-ast, new-ast-unique-expr
Children:
918b90c
Parents:
7d6e01d
Message:

That should get default operations working for throws. More tests to come.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/exceptions/resume.cfa

    r7d6e01d r046a890  
    1414                loud_exit a = "simple try clause";
    1515                printf("simple throw\n");
    16                 throwResume &(zen){};
     16                throwResume (zen){};
    1717                printf("end of try clause\n");
    1818        } catchResume (zen * error) {
     
    2424        // Throw catch-all test.
    2525        try {
    26                 throwResume &(zen){};
     26                throwResume (zen){};
    2727        } catchResume (exception_t * error) {
    2828                printf("catch-all\n");
     
    3333        try {
    3434                printf("throwing child exception\n");
    35                 throwResume &(moment_of){};
     35                throwResume (moment_of){};
    3636        } catchResume (zen *) {
    3737                printf("inner parent match\n");
     
    4444        try {
    4545                try {
    46                         throwResume &(yin){};
     46                        throwResume (yin){};
    4747                } catchResume (zen *) {
    4848                        printf("caught yin as zen\n");
     
    6060                        loud_exit a = "rethrow inner try";
    6161                        printf("rethrow inner try\n");
    62                         throwResume &(zen){};
     62                        throwResume (zen){};
    6363                } catchResume (zen *) {
    6464                        loud_exit a = "rethrowing catch clause";
     
    7575        try {
    7676                try {
    77                         throwResume &(yin){};
     77                        throwResume (yin){};
    7878                } catchResume (yin *) {
    7979                        printf("caught yin, will throw yang\n");
    80                         throwResume &(yang){};
     80                        throwResume (yang){};
    8181                } catchResume (yang *) {
    8282                        printf("caught exception from same try\n");
     
    9191                try {
    9292                        printf("throwing first exception\n");
    93                         throwResume &(yin){};
     93                        throwResume (yin){};
    9494                } catchResume (yin *) {
    9595                        printf("caught first exception\n");
    9696                        try {
    9797                                printf("throwing second exception\n");
    98                                 throwResume &(yang){};
     98                                throwResume (yang){};
    9999                        } catchResume (yang *) {
    100100                                printf("caught second exception\n");
     
    112112        try {
    113113                try {
    114                         throwResume &(zen){};
    115                         throwResume &(zen){};
     114                        throwResume (zen){};
     115                        throwResume (zen){};
    116116                } catchResume (zen *) {
    117117                        printf("inner catch\n");
    118118                }
    119                 throwResume &(zen){};
     119                throwResume (zen){};
    120120        } catchResume (zen *) {
    121121                printf("outer catch\n");
Note: See TracChangeset for help on using the changeset viewer.