Skip to content

Commit 17965f2

Browse files
authored
Merge pull request #494 from NativeScript/plamen5kov/sbg_extend_name_fallback
sbg fallback
2 parents 14a58c1 + 563c208 commit 17965f2

1 file changed

Lines changed: 23 additions & 4 deletions

File tree

  • build-artifacts/project-template-gradle/build-tools/android-static-binding-generator/ast-parser/visitors

build-artifacts/project-template-gradle/build-tools/android-static-binding-generator/ast-parser/visitors/es5-visitors.js

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ var es5_visitors = (function () {
1111
TYPESCRIPT_EXTEND_STRING = FILE_SEPARATOR + "rnal_ts_helpers_l47_c38",
1212
customExtendsArr = [],
1313
normalExtendsArr = [],
14-
interfacesArr = [];
14+
interfacesArr = [],
15+
16+
customExtendsArrGlobal = [];
1517

1618
/* ENTRY POINT!
1719
* Traverses each passed node with several visitors.
@@ -227,7 +229,7 @@ var es5_visitors = (function () {
227229
if(config.logger) {
228230
config.logger.info(lineToWrite)
229231
}
230-
customExtendsArr.push(lineToWrite)
232+
addCustomExtend(classNameFromDecorator, config.fullPathName, lineToWrite)
231233
}
232234

233235
/*
@@ -299,8 +301,9 @@ var es5_visitors = (function () {
299301
if(config.logger) {
300302
config.logger.info(lineToWrite)
301303
}
302-
lineToWrite = _generateLineToWrite(isCorrectExtendClassName ? className : "", extendClass.reverse().join("."), overriddenMethodNames, "", config.fullPathName);
303-
customExtendsArr.push(lineToWrite)
304+
var classNameFromDecorator = isCorrectExtendClassName ? className : "";
305+
lineToWrite = _generateLineToWrite(classNameFromDecorator, extendClass.reverse().join("."), overriddenMethodNames, "", config.fullPathName);
306+
addCustomExtend(classNameFromDecorator, config.fullPathName, lineToWrite)
304307
return;
305308
}
306309

@@ -464,6 +467,22 @@ var es5_visitors = (function () {
464467
return lineToWrite;
465468
}
466469

470+
function addCustomExtend(param, extendPath, lineToWrite) {
471+
if(customExtendsArrGlobal.indexOf(param) === -1) {
472+
customExtendsArr.push(lineToWrite)
473+
customExtendsArrGlobal.push(param)
474+
}
475+
else {
476+
console.log("Warning: there already is an extend called " + param + ".")
477+
if(extendPath.indexOf("tns_modules") === -1) {
478+
// app folder will take precedence over tns_modules
479+
console.log("Warning: The static binding generator will generate extend from:" + extendPath + " implementation")
480+
customExtendsArr.push(lineToWrite)
481+
customExtendsArrGlobal.push(param)
482+
}
483+
}
484+
}
485+
467486
return {
468487
es5Visitor: es5Visitor
469488
}

0 commit comments

Comments
 (0)