@abaplint/core 2.95.4 → 2.95.6
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.
|
@@ -179,17 +179,24 @@ class BasicTypes {
|
|
|
179
179
|
}
|
|
180
180
|
return type;
|
|
181
181
|
}
|
|
182
|
+
cloneType(type, qualifiedName) {
|
|
183
|
+
// nested types(containing "-") will inherit the qualified names if possible
|
|
184
|
+
// todo, this needs to be extended to all AbstractTypes instead of just CharacterType
|
|
185
|
+
if (type instanceof basic_1.CharacterType
|
|
186
|
+
&& qualifiedName
|
|
187
|
+
&& qualifiedName.includes("-") === false) {
|
|
188
|
+
type = type.cloneType(qualifiedName);
|
|
189
|
+
}
|
|
190
|
+
return type;
|
|
191
|
+
}
|
|
182
192
|
resolveTypeName(typeName, length, decimals, qualifiedName) {
|
|
183
193
|
var _a;
|
|
184
194
|
if (typeName === undefined) {
|
|
185
195
|
return undefined;
|
|
186
196
|
}
|
|
187
|
-
|
|
197
|
+
const chain = this.resolveTypeChain(typeName);
|
|
188
198
|
if (chain) {
|
|
189
|
-
|
|
190
|
-
chain = chain.cloneType(qualifiedName);
|
|
191
|
-
}
|
|
192
|
-
return chain;
|
|
199
|
+
return this.cloneType(chain, qualifiedName);
|
|
193
200
|
}
|
|
194
201
|
const chainText = typeName.concatTokens().toUpperCase();
|
|
195
202
|
const f = this.scope.getDDIC().lookupBuiltinType(chainText, length, decimals, qualifiedName);
|
|
@@ -223,7 +230,7 @@ class BasicTypes {
|
|
|
223
230
|
else if (ddic.type instanceof basic_1.VoidType) {
|
|
224
231
|
this.scope.addReference(typeName.getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.filename);
|
|
225
232
|
}
|
|
226
|
-
return ddic.type;
|
|
233
|
+
return this.cloneType(ddic.type, qualifiedName);
|
|
227
234
|
}
|
|
228
235
|
return undefined;
|
|
229
236
|
}
|
|
@@ -60,7 +60,7 @@ class DataElement extends _abstract_object_1.AbstractObject {
|
|
|
60
60
|
lookup = { type: new Types.UnknownType("DATATYPE unexpectely empty in " + this.getName()) };
|
|
61
61
|
}
|
|
62
62
|
else {
|
|
63
|
-
lookup = { type: ddic.textToType(this.parsedXML.datatype, this.parsedXML.leng, this.parsedXML.decimals, this.getName(), this.getName()) };
|
|
63
|
+
lookup = { type: ddic.textToType(this.parsedXML.datatype, this.parsedXML.leng, this.parsedXML.decimals, this.getName(), this.getName(), undefined, this.getName()) };
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
}
|
package/build/src/registry.js
CHANGED