Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
ltearno committed Oct 3, 2017
1 parent b03a7af commit 5b4edcb
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 21 deletions.
38 changes: 38 additions & 0 deletions apis/added-to-array.txt
@@ -0,0 +1,38 @@
@JsOverlay
public final static <T> Array<T> empty() {
return new Array<T>();
}

@JsOverlay
public final java.lang.Iterable<T> iterate() {
return () -> new java.util.Iterator<T>() {
int index = 0;

@Override
public boolean hasNext() {
return index < length;
}

@Override
public T next() {
T result = getByIndex(index);
index++;
return result;
}

@Override
public void remove() {
throw new RuntimeException();
}
};
}

@JsOverlay
@SafeVarargs
public final static <T> Array<T> of(@DoNotAutobox T... array )
{
Array<T> result = new Array<>();
for( T item : array )
result.push( item );
return result;
}
63 changes: 43 additions & 20 deletions apis/angular4-api/ts2java.config.json
@@ -1,27 +1,50 @@
{
"sourceRootDir": "./apis/angular4-api/tsd",
"sourceRootDir": "./tsd",
"baseJavaPackage": "fr.lteconsulting.jsinterop",
"defaultJavaPackage": "browser",
"javaPackages": {
"apis/angular4-api/tsd/@angular/platform-browser-dynamic/src": "ng.platformBrowserDynamic",
"apis/angular4-api/tsd/@angular/platform-browser/src": "ng.platformBrowser",
"apis/angular4-api/tsd/@angular/http/src": "ng.http",
"apis/angular4-api/tsd/@angular/forms/src": "ng.forms",
"apis/angular4-api/tsd/@angular/router/src": "ng.router",
"apis/angular4-api/tsd/@angular/core/src": "ng.core",
"apis/angular4-api/tsd/@angular/common/src": "ng.common",
"apis/angular4-api/tsd/@angular/compiler/src/i18n": "ng.compiler.i18n",
"apis/angular4-api/tsd/@angular/compiler/src/aot": "ng.compiler.aot",
"apis/angular4-api/tsd/@angular/compiler/src/comiler_util": "ng.compiler.util",
"apis/angular4-api/tsd/@angular/compiler/src/expression_parser": "ng.compiler.expression.parse",
"apis/angular4-api/tsd/@angular/compiler/src/jit": "ng.compiler.jit",
"apis/angular4-api/tsd/@angular/compiler/src/ml_parser": "ng.compiler.mlparser",
"apis/angular4-api/tsd/@angular/compiler/src/output": "ng.compiler.output",
"apis/angular4-api/tsd/@angular/compiler/src/schema": "ng.compiler.schema",
"apis/angular4-api/tsd/@angular/compiler/src": "ng.compiler",
"apis/angular4-api/tsd/@angular/": "ng",
"apis/angular4-api/tsd/rxjs": "rxjs"
"tsd/@angular/platform-browser-dynamic/src": "ng.platformBrowserDynamic",
"tsd/@angular/platform-browser/src": "ng.platformBrowser",
"tsd/@angular/http/src": "ng.http",
"tsd/@angular/forms/src": "ng.forms",
"tsd/@angular/router/src": "ng.router",
"tsd/@angular/core/src": "ng.core",
"tsd/@angular/common/src": "ng.common",
"tsd/@angular/compiler/src/i18n": "ng.compiler.i18n",
"tsd/@angular/compiler/src/aot": "ng.compiler.aot",
"tsd/@angular/compiler/src/comiler_util": "ng.compiler.util",
"tsd/@angular/compiler/src/expression_parser": "ng.compiler.expression.parse",
"tsd/@angular/compiler/src/jit": "ng.compiler.jit",
"tsd/@angular/compiler/src/ml_parser": "ng.compiler.mlparser",
"tsd/@angular/compiler/src/output": "ng.compiler.output",
"tsd/@angular/compiler/src/schema": "ng.compiler.schema",
"tsd/@angular/compiler/src": "ng.compiler",
"tsd/@angular/": "ng",
"tsd/rxjs": "rxjs"
},
"processInternalTypes": true,
"outputDirectory": "./out/src/main/java"
"outputDirectory": "./out/src/main/java",
"renaming": {
"fr.lteconsulting.jsinterop.browser": {
"EventListenerOrEventListenerObject_UnionOfEventListenerAndEventListenerObject": "EventListenerOrEventListenerObject",
"IDBValidKey_UnionOfDateAndIDBArrayKeyAndNumberAndString": "IDBValidKey",
"UnionOfAesCbcParamsAndAesCfbParamsAndAesCmacParamsAndAesCtrParamsAndAesGcmParamsAndRsaOaepParamsAndString": "UnionOfCryptoParamsAndString",
"UnionOfAesDerivedKeyParamsAndConcatParamsAndHkdfCtrParamsAndHmacImportParamsAndPbkdf2ParamsAndString": "UnionOfCryptoParamsAndString2",
"UnionOfConcatParamsAndDhKeyDeriveParamsAndEcdhKeyDeriveParamsAndHkdfCtrParamsAndPbkdf2ParamsAndString": "UnionOfCryptoParamsAndString3",
"UnionOfDhImportKeyParamsAndEcKeyImportParamsAndHmacImportParamsAndRsaHashedImportParamsAndString": "UnionOfKeyParams",
"UnionOfSVGCircleElementAndSVGEllipseElementAndSVGImageElementAndSVGLineElementAndSVGPathElementAndSVGPolygonElementAndSVGPolylineElementAndSVGRectElementAndSVGTextElementAndSVGUseElement": "UnionOfSeveralSVGElement"
}
},
"adding": {
"fr.lteconsulting.jsinterop.browser": {
"Array": "../added-to-array.txt"
}
},
"removing": {
"fr.lteconsulting.jsinterop.browser": {
"Array": [
"static Array of(T)"
]
}
}
}
2 changes: 2 additions & 0 deletions transformers.ts
Expand Up @@ -64,6 +64,8 @@ export function applyTransformations(typeMap: TypescriptToJavaTypemap, renaming:
console.log(`ERROR : too many transformation passes !`)
break
}

break
}

console.log(`transformation applied`)
Expand Down
3 changes: 2 additions & 1 deletion type-tools.ts
Expand Up @@ -64,7 +64,8 @@ export function browseTypeHierarchy(type: PreJavaType, visitor: { (visitedInterf
value = typeVariableEnv[t.name]
}
})
newEnv[targetTypeParameters[tpi].getSimpleName(null)] = value
if (targetTypeParameters[tpi])
newEnv[targetTypeParameters[tpi].getSimpleName(null)] = value
}

browseTypeHierarchy(type.type, visitor, newEnv, true)
Expand Down

0 comments on commit 5b4edcb

Please sign in to comment.