162
162
abstract class PolyglotValueDispatch extends AbstractValueDispatch {
163
163
164
164
private static final String TRUNCATION_SUFFIX = "..." ;
165
-
166
165
private static final String UNKNOWN = "Unknown" ;
167
166
168
- static final InteropLibrary UNCACHED_INTEROP = InteropLibrary .getFactory ().getUncached ();
169
-
170
167
final PolyglotImpl impl ;
171
168
final PolyglotLanguageInstance languageInstance ;
172
169
@@ -746,7 +743,7 @@ public boolean asBoolean(Object languageContext, Object receiver) {
746
743
}
747
744
748
745
private static boolean isNullUncached (Object receiver ) {
749
- return InteropLibrary .getFactory (). getUncached ().isNull (receiver );
746
+ return InteropLibrary .getUncached ().isNull (receiver );
750
747
}
751
748
752
749
protected static boolean asBooleanUnsupported (PolyglotLanguageContext context , Object receiver ) {
@@ -1256,7 +1253,7 @@ static final RuntimeException getHashValuesIteratorUnsupported(PolyglotLanguageC
1256
1253
}
1257
1254
1258
1255
protected Object getMetaObjectImpl (PolyglotLanguageContext context , Object receiver ) {
1259
- InteropLibrary lib = InteropLibrary .getFactory (). getUncached (receiver );
1256
+ InteropLibrary lib = InteropLibrary .getUncached (receiver );
1260
1257
if (lib .hasMetaObject (receiver )) {
1261
1258
try {
1262
1259
return asValue (impl , context , lib .getMetaObject (receiver ));
@@ -1316,8 +1313,6 @@ protected static RuntimeException unsupported(PolyglotLanguageContext context, O
1316
1313
1317
1314
private static final int CHARACTER_LIMIT = 140 ;
1318
1315
1319
- private static final InteropLibrary INTEROP = InteropLibrary .getFactory ().getUncached ();
1320
-
1321
1316
@ TruffleBoundary
1322
1317
static String getValueInfo (Object languageContext , Object receiver ) {
1323
1318
PolyglotContextImpl context = languageContext != null ? ((PolyglotLanguageContext ) languageContext ).context : null ;
@@ -1344,12 +1339,12 @@ static String getValueInfo(PolyglotContextImpl context, Object receiver) {
1344
1339
String valueToString ;
1345
1340
String metaObjectToString = UNKNOWN ;
1346
1341
try {
1347
- InteropLibrary uncached = InteropLibrary .getFactory (). getUncached (view );
1342
+ InteropLibrary uncached = InteropLibrary .getUncached (view );
1348
1343
if (uncached .hasMetaObject (view )) {
1349
- Object qualifiedName = INTEROP .getMetaQualifiedName (uncached .getMetaObject (view ));
1350
- metaObjectToString = truncateString (INTEROP .asString (qualifiedName ), CHARACTER_LIMIT );
1344
+ Object qualifiedName = InteropLibrary . getUncached () .getMetaQualifiedName (uncached .getMetaObject (view ));
1345
+ metaObjectToString = truncateString (InteropLibrary . getUncached () .asString (qualifiedName ), CHARACTER_LIMIT );
1351
1346
}
1352
- valueToString = truncateString (INTEROP .asString (uncached .toDisplayString (view )), CHARACTER_LIMIT );
1347
+ valueToString = truncateString (InteropLibrary . getUncached () .asString (uncached .toDisplayString (view )), CHARACTER_LIMIT );
1353
1348
} catch (UnsupportedMessageException e ) {
1354
1349
throw shouldNotReachHere (e );
1355
1350
}
@@ -1359,7 +1354,7 @@ static String getValueInfo(PolyglotContextImpl context, Object receiver) {
1359
1354
languageName = "Java" ; // java is our host language for now
1360
1355
1361
1356
// hide meta objects of null
1362
- if (UNKNOWN .equals (metaObjectToString ) && INTEROP .isNull (receiver )) {
1357
+ if (UNKNOWN .equals (metaObjectToString ) && InteropLibrary . getUncached () .isNull (receiver )) {
1363
1358
hideType = true ;
1364
1359
}
1365
1360
} else {
@@ -1596,7 +1591,7 @@ public Object getSourceLocation(Object languageContext, Object receiver) {
1596
1591
PolyglotLanguageContext context = (PolyglotLanguageContext ) languageContext ;
1597
1592
Object prev = hostEnter (context );
1598
1593
try {
1599
- InteropLibrary lib = InteropLibrary .getFactory (). getUncached (receiver );
1594
+ InteropLibrary lib = InteropLibrary .getUncached (receiver );
1600
1595
com .oracle .truffle .api .source .SourceSection result = null ;
1601
1596
if (lib .hasSourceLocation (receiver )) {
1602
1597
try {
@@ -1710,7 +1705,8 @@ static PolyglotValueDispatch createHostNull(PolyglotImpl polyglot) {
1710
1705
static void createDefaultValues (PolyglotImpl polyglot , PolyglotLanguageInstance languageInstance , Map <Class <?>, PolyglotValueDispatch > valueCache ) {
1711
1706
addDefaultValue (polyglot , languageInstance , valueCache , false );
1712
1707
addDefaultValue (polyglot , languageInstance , valueCache , "" );
1713
- addDefaultValue (polyglot , languageInstance , valueCache , TruffleString .fromJavaStringUncached ("" , TruffleString .Encoding .UTF_16 ));
1708
+ addDefaultValue (polyglot , languageInstance , valueCache , TruffleString .fromJavaStringUncached ("" ,
1709
+ TruffleString .Encoding .UTF_16 ));
1714
1710
addDefaultValue (polyglot , languageInstance , valueCache , 'a' );
1715
1711
addDefaultValue (polyglot , languageInstance , valueCache , (byte ) 0 );
1716
1712
addDefaultValue (polyglot , languageInstance , valueCache , (short ) 0 );
@@ -1735,7 +1731,7 @@ private PrimitiveValue(PolyglotImpl impl, PolyglotLanguageInstance instance, Obj
1735
1731
* No caching needed for primitives. We do that to avoid the overhead of crossing a
1736
1732
* Truffle call boundary.
1737
1733
*/
1738
- this .interop = InteropLibrary .getFactory (). getUncached (primitiveValue );
1734
+ this .interop = InteropLibrary .getUncached (primitiveValue );
1739
1735
this .language = instance != null ? instance .language : null ;
1740
1736
}
1741
1737
@@ -2703,7 +2699,7 @@ public boolean isNumber(Object languageContext, Object receiver) {
2703
2699
PolyglotLanguageContext context = (PolyglotLanguageContext ) languageContext ;
2704
2700
Object c = hostEnter (context );
2705
2701
try {
2706
- return UNCACHED_INTEROP .isNumber (receiver );
2702
+ return InteropLibrary . getUncached () .isNumber (receiver );
2707
2703
} catch (Throwable e ) {
2708
2704
throw guestToHostException (context , e , true );
2709
2705
} finally {
@@ -2716,7 +2712,7 @@ public boolean fitsInByte(Object languageContext, Object receiver) {
2716
2712
PolyglotLanguageContext context = (PolyglotLanguageContext ) languageContext ;
2717
2713
Object c = hostEnter (context );
2718
2714
try {
2719
- return UNCACHED_INTEROP .fitsInByte (receiver );
2715
+ return InteropLibrary . getUncached () .fitsInByte (receiver );
2720
2716
} catch (Throwable e ) {
2721
2717
throw guestToHostException (context , e , true );
2722
2718
} finally {
@@ -2730,7 +2726,7 @@ public byte asByte(Object languageContext, Object receiver) {
2730
2726
Object c = hostEnter (context );
2731
2727
try {
2732
2728
try {
2733
- return UNCACHED_INTEROP .asByte (receiver );
2729
+ return InteropLibrary . getUncached () .asByte (receiver );
2734
2730
} catch (UnsupportedMessageException e ) {
2735
2731
return asByteUnsupported (context , receiver );
2736
2732
}
@@ -2746,7 +2742,7 @@ public boolean isString(Object languageContext, Object receiver) {
2746
2742
PolyglotLanguageContext context = (PolyglotLanguageContext ) languageContext ;
2747
2743
Object c = hostEnter (context );
2748
2744
try {
2749
- return UNCACHED_INTEROP .isString (receiver );
2745
+ return InteropLibrary . getUncached () .isString (receiver );
2750
2746
} catch (Throwable e ) {
2751
2747
throw guestToHostException (context , e , true );
2752
2748
} finally {
@@ -2763,7 +2759,7 @@ public String asString(Object languageContext, Object receiver) {
2763
2759
if (isNullUncached (receiver )) {
2764
2760
return null ;
2765
2761
}
2766
- return UNCACHED_INTEROP .asString (receiver );
2762
+ return InteropLibrary . getUncached () .asString (receiver );
2767
2763
} catch (UnsupportedMessageException e ) {
2768
2764
return asStringUnsupported (context , receiver );
2769
2765
}
@@ -2783,7 +2779,7 @@ public byte[] asStringBytes(Object languageContext, Object receiver, int encodin
2783
2779
if (isNullUncached (receiver )) {
2784
2780
return null ;
2785
2781
}
2786
- TruffleString s = UNCACHED_INTEROP .asTruffleString (receiver );
2782
+ TruffleString s = InteropLibrary . getUncached () .asTruffleString (receiver );
2787
2783
TruffleString .Encoding e = PolyglotImpl .mapStringEncoding (encoding );
2788
2784
return s .switchEncodingUncached (e ).copyToByteArrayUncached (e );
2789
2785
} catch (UnsupportedMessageException e ) {
@@ -2801,7 +2797,7 @@ public boolean fitsInInt(Object languageContext, Object receiver) {
2801
2797
PolyglotLanguageContext context = (PolyglotLanguageContext ) languageContext ;
2802
2798
Object c = hostEnter (context );
2803
2799
try {
2804
- return UNCACHED_INTEROP .fitsInInt (receiver );
2800
+ return InteropLibrary . getUncached () .fitsInInt (receiver );
2805
2801
} catch (Throwable e ) {
2806
2802
throw guestToHostException (context , e , true );
2807
2803
} finally {
@@ -2815,7 +2811,7 @@ public int asInt(Object languageContext, Object receiver) {
2815
2811
Object c = hostEnter (context );
2816
2812
try {
2817
2813
try {
2818
- return UNCACHED_INTEROP .asInt (receiver );
2814
+ return InteropLibrary . getUncached () .asInt (receiver );
2819
2815
} catch (UnsupportedMessageException e ) {
2820
2816
return asIntUnsupported (context , receiver );
2821
2817
}
@@ -2831,7 +2827,7 @@ public boolean isBoolean(Object languageContext, Object receiver) {
2831
2827
PolyglotLanguageContext context = (PolyglotLanguageContext ) languageContext ;
2832
2828
Object c = hostEnter (context );
2833
2829
try {
2834
- return InteropLibrary .getFactory (). getUncached ().isBoolean (receiver );
2830
+ return InteropLibrary .getUncached ().isBoolean (receiver );
2835
2831
} catch (Throwable e ) {
2836
2832
throw guestToHostException (context , e , true );
2837
2833
} finally {
@@ -2845,7 +2841,7 @@ public boolean asBoolean(Object languageContext, Object receiver) {
2845
2841
Object c = hostEnter (context );
2846
2842
try {
2847
2843
try {
2848
- return InteropLibrary .getFactory (). getUncached ().asBoolean (receiver );
2844
+ return InteropLibrary .getUncached ().asBoolean (receiver );
2849
2845
} catch (UnsupportedMessageException e ) {
2850
2846
return asBooleanUnsupported (context , receiver );
2851
2847
}
@@ -2861,7 +2857,7 @@ public boolean fitsInFloat(Object languageContext, Object receiver) {
2861
2857
PolyglotLanguageContext context = (PolyglotLanguageContext ) languageContext ;
2862
2858
Object c = hostEnter (context );
2863
2859
try {
2864
- return InteropLibrary .getFactory (). getUncached ().fitsInFloat (receiver );
2860
+ return InteropLibrary .getUncached ().fitsInFloat (receiver );
2865
2861
} catch (Throwable e ) {
2866
2862
throw guestToHostException (context , e , true );
2867
2863
} finally {
@@ -2875,7 +2871,7 @@ public float asFloat(Object languageContext, Object receiver) {
2875
2871
Object c = hostEnter (context );
2876
2872
try {
2877
2873
try {
2878
- return UNCACHED_INTEROP .asFloat (receiver );
2874
+ return InteropLibrary . getUncached () .asFloat (receiver );
2879
2875
} catch (UnsupportedMessageException e ) {
2880
2876
return asFloatUnsupported (context , receiver );
2881
2877
}
@@ -2891,7 +2887,7 @@ public boolean fitsInDouble(Object languageContext, Object receiver) {
2891
2887
PolyglotLanguageContext context = (PolyglotLanguageContext ) languageContext ;
2892
2888
Object c = hostEnter (context );
2893
2889
try {
2894
- return UNCACHED_INTEROP .fitsInDouble (receiver );
2890
+ return InteropLibrary . getUncached () .fitsInDouble (receiver );
2895
2891
} catch (Throwable e ) {
2896
2892
throw guestToHostException (context , e , true );
2897
2893
} finally {
@@ -2905,7 +2901,7 @@ public double asDouble(Object languageContext, Object receiver) {
2905
2901
Object c = hostEnter (context );
2906
2902
try {
2907
2903
try {
2908
- return UNCACHED_INTEROP .asDouble (receiver );
2904
+ return InteropLibrary . getUncached () .asDouble (receiver );
2909
2905
} catch (UnsupportedMessageException e ) {
2910
2906
return asDoubleUnsupported (context , receiver );
2911
2907
}
@@ -2921,7 +2917,7 @@ public boolean fitsInLong(Object languageContext, Object receiver) {
2921
2917
PolyglotLanguageContext context = (PolyglotLanguageContext ) languageContext ;
2922
2918
Object c = hostEnter (context );
2923
2919
try {
2924
- return UNCACHED_INTEROP .fitsInLong (receiver );
2920
+ return InteropLibrary . getUncached () .fitsInLong (receiver );
2925
2921
} catch (Throwable e ) {
2926
2922
throw guestToHostException (context , e , true );
2927
2923
} finally {
@@ -2935,7 +2931,7 @@ public long asLong(Object languageContext, Object receiver) {
2935
2931
Object c = hostEnter (context );
2936
2932
try {
2937
2933
try {
2938
- return UNCACHED_INTEROP .asLong (receiver );
2934
+ return InteropLibrary . getUncached () .asLong (receiver );
2939
2935
} catch (UnsupportedMessageException e ) {
2940
2936
return asLongUnsupported (context , receiver );
2941
2937
}
@@ -2951,7 +2947,7 @@ public boolean fitsInBigInteger(Object languageContext, Object receiver) {
2951
2947
PolyglotLanguageContext context = (PolyglotLanguageContext ) languageContext ;
2952
2948
Object c = hostEnter (context );
2953
2949
try {
2954
- return UNCACHED_INTEROP .fitsInBigInteger (receiver );
2950
+ return InteropLibrary . getUncached () .fitsInBigInteger (receiver );
2955
2951
} catch (Throwable e ) {
2956
2952
throw guestToHostException (context , e , true );
2957
2953
} finally {
@@ -2965,7 +2961,7 @@ public BigInteger asBigInteger(Object languageContext, Object receiver) {
2965
2961
Object c = hostEnter (context );
2966
2962
try {
2967
2963
try {
2968
- return UNCACHED_INTEROP .asBigInteger (receiver );
2964
+ return InteropLibrary . getUncached () .asBigInteger (receiver );
2969
2965
} catch (UnsupportedMessageException e ) {
2970
2966
return asBigIntegerUnsupported (context , receiver );
2971
2967
}
@@ -2981,7 +2977,7 @@ public boolean fitsInShort(Object languageContext, Object receiver) {
2981
2977
PolyglotLanguageContext context = (PolyglotLanguageContext ) languageContext ;
2982
2978
Object c = hostEnter (context );
2983
2979
try {
2984
- return UNCACHED_INTEROP .fitsInShort (receiver );
2980
+ return InteropLibrary . getUncached () .fitsInShort (receiver );
2985
2981
} catch (Throwable e ) {
2986
2982
throw guestToHostException (context , e , true );
2987
2983
} finally {
@@ -2995,7 +2991,7 @@ public short asShort(Object languageContext, Object receiver) {
2995
2991
Object c = hostEnter (context );
2996
2992
try {
2997
2993
try {
2998
- return UNCACHED_INTEROP .asShort (receiver );
2994
+ return InteropLibrary . getUncached () .asShort (receiver );
2999
2995
} catch (UnsupportedMessageException e ) {
3000
2996
return asShortUnsupported (context , receiver );
3001
2997
}
0 commit comments