@ball-lang/compiler 1.41.0 → 1.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"preamble.d.ts","sourceRoot":"","sources":["../src/preamble.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,QAshD/B,CAAC"}
1
+ {"version":3,"file":"preamble.d.ts","sourceRoot":"","sources":["../src/preamble.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,QAwiD/B,CAAC"}
package/dist/preamble.js CHANGED
@@ -661,6 +661,24 @@ function hasBoolValue(obj: any): boolean { return _has(obj, 'boolValue'); }
661
661
  function hasNumberValue(obj: any): boolean { return _has(obj, 'numberValue'); }
662
662
  function hasResult(obj: any): boolean { return _has(obj, 'result'); }
663
663
  function hasCall(obj: any): boolean { return _has(obj, 'call'); }
664
+ // Statement oneof presence (let, expression) + FieldAccess object presence,
665
+ // issue 362. The self-hosted ball audit analyzers and engine.dart read these
666
+ // via hasLet, hasExpression, hasObject; they route to ball_proto and compile to
667
+ // free calls, so they need top-level definitions here (mirrors hasHttp etc.).
668
+ function hasLet(obj: any): boolean { return _has(obj, 'let'); }
669
+ function hasExpression(obj: any): boolean { return _has(obj, 'expression'); }
670
+ function hasObject(obj: any): boolean { return _has(obj, 'object'); }
671
+ // Expression oneof presence (issue 362): the self-hosted ball audit
672
+ // capability/termination analyzers dispatch expression kinds via a hasX()
673
+ // presence cascade (hasCall/hasLiteral/hasBlock/hasLambda/hasMessageCreation/
674
+ // hasFieldAccess/hasReference) instead of the whichExpr() enum, so these route
675
+ // to ball_proto and compile to free calls needing top-level definitions here.
676
+ function hasLiteral(obj: any): boolean { return _has(obj, 'literal'); }
677
+ function hasBlock(obj: any): boolean { return _has(obj, 'block'); }
678
+ function hasLambda(obj: any): boolean { return _has(obj, 'lambda'); }
679
+ function hasMessageCreation(obj: any): boolean { return _has(obj, 'messageCreation'); }
680
+ function hasFieldAccess(obj: any): boolean { return _has(obj, 'fieldAccess'); }
681
+ function hasReference(obj: any): boolean { return _has(obj, 'reference'); }
664
682
  function hasListValue(obj: any): boolean { return _has(obj, 'listValue'); }
665
683
  function hasNullValue(obj: any): boolean { return _has(obj, 'nullValue'); }
666
684
  function hasStructValue(obj: any): boolean { return _has(obj, 'structValue'); }
@@ -1 +1 @@
1
- {"version":3,"file":"preamble.js","sourceRoot":"","sources":["../src/preamble.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAshD5C,CAAC"}
1
+ {"version":3,"file":"preamble.js","sourceRoot":"","sources":["../src/preamble.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwiD5C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ball-lang/compiler",
3
- "version": "1.41.0",
3
+ "version": "1.43.0",
4
4
  "description": "Ball → TypeScript compiler. Consumes a Ball protobuf Program and emits idiomatic TypeScript via ts-morph. The canonical TS compiler for Ball — lives in TS land so TS syntax knowledge doesn't leak into other languages.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/preamble.ts CHANGED
@@ -661,6 +661,24 @@ function hasBoolValue(obj: any): boolean { return _has(obj, 'boolValue'); }
661
661
  function hasNumberValue(obj: any): boolean { return _has(obj, 'numberValue'); }
662
662
  function hasResult(obj: any): boolean { return _has(obj, 'result'); }
663
663
  function hasCall(obj: any): boolean { return _has(obj, 'call'); }
664
+ // Statement oneof presence (let, expression) + FieldAccess object presence,
665
+ // issue 362. The self-hosted ball audit analyzers and engine.dart read these
666
+ // via hasLet, hasExpression, hasObject; they route to ball_proto and compile to
667
+ // free calls, so they need top-level definitions here (mirrors hasHttp etc.).
668
+ function hasLet(obj: any): boolean { return _has(obj, 'let'); }
669
+ function hasExpression(obj: any): boolean { return _has(obj, 'expression'); }
670
+ function hasObject(obj: any): boolean { return _has(obj, 'object'); }
671
+ // Expression oneof presence (issue 362): the self-hosted ball audit
672
+ // capability/termination analyzers dispatch expression kinds via a hasX()
673
+ // presence cascade (hasCall/hasLiteral/hasBlock/hasLambda/hasMessageCreation/
674
+ // hasFieldAccess/hasReference) instead of the whichExpr() enum, so these route
675
+ // to ball_proto and compile to free calls needing top-level definitions here.
676
+ function hasLiteral(obj: any): boolean { return _has(obj, 'literal'); }
677
+ function hasBlock(obj: any): boolean { return _has(obj, 'block'); }
678
+ function hasLambda(obj: any): boolean { return _has(obj, 'lambda'); }
679
+ function hasMessageCreation(obj: any): boolean { return _has(obj, 'messageCreation'); }
680
+ function hasFieldAccess(obj: any): boolean { return _has(obj, 'fieldAccess'); }
681
+ function hasReference(obj: any): boolean { return _has(obj, 'reference'); }
664
682
  function hasListValue(obj: any): boolean { return _has(obj, 'listValue'); }
665
683
  function hasNullValue(obj: any): boolean { return _has(obj, 'nullValue'); }
666
684
  function hasStructValue(obj: any): boolean { return _has(obj, 'structValue'); }