@abaplint/transpiler-cli 2.10.67 → 2.10.69

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.
Files changed (2) hide show
  1. package/build/bundle.js +15 -1
  2. package/package.json +2 -2
package/build/bundle.js CHANGED
@@ -80732,13 +80732,17 @@ exports.StringTemplateSourceTranspiler = StringTemplateSourceTranspiler;
80732
80732
  Object.defineProperty(exports, "__esModule", ({ value: true }));
80733
80733
  exports.TargetTranspiler = void 0;
80734
80734
  const core_1 = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
80735
+ const abaplint = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
80735
80736
  const traversal_1 = __webpack_require__(/*! ../traversal */ "./node_modules/@abaplint/transpiler/build/src/traversal.js");
80736
80737
  const _1 = __webpack_require__(/*! . */ "./node_modules/@abaplint/transpiler/build/src/expressions/index.js");
80737
80738
  const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
80739
+ const feature_flags_1 = __webpack_require__(/*! ../feature_flags */ "./node_modules/@abaplint/transpiler/build/src/feature_flags.js");
80738
80740
  class TargetTranspiler {
80739
80741
  transpile(node, traversal) {
80740
80742
  const offset = [];
80741
80743
  let ret = new chunk_1.Chunk();
80744
+ let context = undefined;
80745
+ const scope = traversal.findCurrentScopeByToken(node.getFirstToken());
80742
80746
  const children = node.getChildren();
80743
80747
  for (let i = 0; i < children.length; i++) {
80744
80748
  const c = children[i];
@@ -80746,6 +80750,7 @@ class TargetTranspiler {
80746
80750
  if (c.get() instanceof core_1.Expressions.TargetField) {
80747
80751
  const prefix = traversal.prefixAndName(c.getFirstToken()).replace("~", "$");
80748
80752
  ret.append(traversal_1.Traversal.prefixVariable(traversal_1.Traversal.escapeNamespace(prefix)), c, traversal);
80753
+ context = scope?.findVariable(c.getFirstToken().getStr())?.getType();
80749
80754
  }
80750
80755
  else if (c.get() instanceof core_1.Expressions.ClassName) {
80751
80756
  const name = traversal.lookupClassOrInterface(c.getFirstToken().getStr(), c.getFirstToken());
@@ -80761,8 +80766,17 @@ class TargetTranspiler {
80761
80766
  }
80762
80767
  }
80763
80768
  else if (c.get() instanceof core_1.Expressions.AttributeName) {
80769
+ let prefix = "";
80770
+ if (context instanceof abaplint.BasicTypes.ObjectReferenceType) {
80771
+ const cdef = traversal.findClassDefinition(context.getIdentifierName(), scope);
80772
+ const attr = cdef?.getAttributes().findByName(c.getFirstToken().getStr());
80773
+ if (feature_flags_1.FEATURE_FLAGS.PRIVATE_ATTRIBUTES === true
80774
+ && attr?.getVisibility() === abaplint.Visibility.Private) {
80775
+ prefix = "#";
80776
+ }
80777
+ }
80764
80778
  const intf = traversal_1.Traversal.escapeNamespace(traversal.isInterfaceAttribute(c.getFirstToken()));
80765
- let name = traversal_1.Traversal.escapeNamespace(c.getFirstToken().getStr()).replace("~", "$").toLowerCase();
80779
+ let name = prefix + traversal_1.Traversal.escapeNamespace(c.getFirstToken().getStr()).replace("~", "$").toLowerCase();
80766
80780
  if (intf && name.startsWith(intf) === false) {
80767
80781
  name = intf + "$" + name;
80768
80782
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/transpiler-cli",
3
- "version": "2.10.67",
3
+ "version": "2.10.69",
4
4
  "description": "Transpiler - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -28,7 +28,7 @@
28
28
  "license": "MIT",
29
29
  "devDependencies": {
30
30
  "@abaplint/core": "^2.113.149",
31
- "@abaplint/transpiler": "^2.10.67",
31
+ "@abaplint/transpiler": "^2.10.69",
32
32
  "@types/glob": "^8.1.0",
33
33
  "@types/node": "^22.16.5",
34
34
  "@types/progress": "^2.0.7",