| ... | ... | @@ -819,6 +819,10 @@ var zigAnalysis; |
| 819 | 819 | case "&": { |
| 820 | 820 | return "&" + exprName(zigAnalysis.exprs[expr["&"]]); |
| 821 | 821 | } |
| 822 | case "compileError": { |
| 823 | let compileError = expr.compileError; |
| 824 | return compileError; |
| 825 | } |
| 822 | 826 | case "enumLiteral": { |
| 823 | 827 | let literal = expr.enumLiteral; |
| 824 | 828 | return literal; |
| ... | ... | @@ -916,7 +920,6 @@ var zigAnalysis; |
| 916 | 920 | return exprName(switchIndex, opts); |
| 917 | 921 | } |
| 918 | 922 | case "refPath" : { |
| 919 | | // const fieldRef = zigAnalysis.decls[expr.fieldRef.index]; |
| 920 | 923 | const declRef = expr.refPath[0].declRef; |
| 921 | 924 | let name = zigAnalysis.decls[declRef].name; |
| 922 | 925 | for (let i = 1; i < expr.refPath.length; i++) { |
| ... | ... | @@ -925,10 +928,9 @@ var zigAnalysis; |
| 925 | 928 | return name; |
| 926 | 929 | } |
| 927 | 930 | case "fieldRef" : { |
| 928 | | const fieldRef = zigAnalysis.decls[expr.fieldRef.index]; |
| 929 | 931 | const enumObj = exprName({"type":expr.fieldRef.type} ,opts); |
| 930 | | // const name = zigAnalysis.astNodes[enumObj.ast + expr.fieldRef.index].name; |
| 931 | | const name = zigAnalysis.astNodes[enumObj.ast + expr.fieldRef.index + 1].name; |
| 932 | const field = zigAnalysis.astNodes[enumObj.ast].fields[expr.fieldRef.index]; |
| 933 | const name = zigAnalysis.astNodes[field].name; |
| 932 | 934 | return name |
| 933 | 935 | } |
| 934 | 936 | case "enumToInt" : { |
| ... | ... | @@ -1424,11 +1426,11 @@ var zigAnalysis; |
| 1424 | 1426 | return payloadHtml; |
| 1425 | 1427 | } |
| 1426 | 1428 | case "as": { |
| 1427 | | // const typeRefArg = zigAnalysis.exprs[expr.as.typeRefArg]; |
| 1429 | const typeRefArg = zigAnalysis.exprs[expr.as.typeRefArg]; |
| 1428 | 1430 | const exprArg = zigAnalysis.exprs[expr.as.exprArg]; |
| 1429 | | // return "@as(" + exprName(typeRefArg, opts) + |
| 1430 | | // ", " + exprName(exprArg, opts) + ")"; |
| 1431 | | return exprName(exprArg, opts); |
| 1431 | return "@as(" + exprName(typeRefArg, opts) + |
| 1432 | ", " + exprName(exprArg, opts) + ")"; |
| 1433 | // return exprName(exprArg, opts); |
| 1432 | 1434 | } |
| 1433 | 1435 | case "declRef": { |
| 1434 | 1436 | return zigAnalysis.decls[expr.declRef].name; |
| ... | ... | @@ -1467,10 +1469,14 @@ var zigAnalysis; |
| 1467 | 1469 | if (typeof typeObj === 'number') typeObj = zigAnalysis.types[typeObj]; |
| 1468 | 1470 | switch (typeObj.kind) { |
| 1469 | 1471 | default: throw "TODO"; |
| 1472 | case typeKinds.Struct: |
| 1473 | { |
| 1474 | let structObj = (typeObj); |
| 1475 | return structObj; |
| 1476 | } |
| 1470 | 1477 | case typeKinds.Enum: |
| 1471 | 1478 | { |
| 1472 | 1479 | let enumObj = (typeObj); |
| 1473 | | console.log(enumObj) |
| 1474 | 1480 | return enumObj; |
| 1475 | 1481 | } |
| 1476 | 1482 | case typeKinds.Opaque: |
| ... | ... | @@ -2033,7 +2039,15 @@ var zigAnalysis; |
| 2033 | 2039 | domFnProtoCode.innerHTML = '<span class="tok-kw">const</span> ' + |
| 2034 | 2040 | escapeHtml(decl.name) + ': ' + type.name + |
| 2035 | 2041 | " = " + exprName(decl.value.expr, {wantHtml: true, wantLink:true}) + ";"; |
| 2036 | | } else { |
| 2042 | } else if (resolvedValue.expr.string !== undefined || resolvedValue.expr.call !== undefined || resolvedValue.expr.comptimeExpr !== undefined) { |
| 2043 | domFnProtoCode.innerHTML = '<span class="tok-kw">const</span> ' + |
| 2044 | escapeHtml(decl.name) + ': ' + exprName(resolvedValue.expr, {wantHtml: true, wantLink:true}) + |
| 2045 | " = " + exprName(decl.value.expr, {wantHtml: true, wantLink:true}) + ";"; |
| 2046 | } else if (resolvedValue.expr.compileError) { |
| 2047 | domFnProtoCode.innerHTML = '<span class="tok-kw">const</span> ' + |
| 2048 | escapeHtml(decl.name) + " = " + exprName(decl.value.expr, {wantHtml: true, wantLink:true}) + ";"; |
| 2049 | } |
| 2050 | else { |
| 2037 | 2051 | domFnProtoCode.innerHTML = '<span class="tok-kw">const</span> ' + |
| 2038 | 2052 | escapeHtml(decl.name) + ': ' + exprName(resolvedValue.typeRef, {wantHtml: true, wantLink:true}) + |
| 2039 | 2053 | " = " + exprName(decl.value.expr, {wantHtml: true, wantLink:true}) + ";"; |