@Internal public final class TypeInferenceUtil extends Object
The following steps summarize the envisioned type inference process. Not all features are implemented or exposed through the API yet (*).
CallContext
.
takes_string(this_function(NULL))
infer operands from takes_string(NULL)
and use the inferred string type as the return
type of this_function(NULL)
.
Modifier and Type | Class and Description |
---|---|
static class |
TypeInferenceUtil.Result
The result of a type inference run.
|
static class |
TypeInferenceUtil.SurroundingInfo
Information what the outer world (i.e.
|
Modifier and Type | Method and Description |
---|---|
static String |
generateSignature(String name,
FunctionDefinition definition,
TypeInference typeInference)
Generates a signature of the given
FunctionDefinition . |
static TypeInferenceUtil.Result |
runTypeInference(TypeInference typeInference,
CallContext callContext,
TypeInferenceUtil.SurroundingInfo surroundingInfo)
Runs the type inference process.
|
public static String generateSignature(String name, FunctionDefinition definition, TypeInference typeInference)
FunctionDefinition
.public static TypeInferenceUtil.Result runTypeInference(TypeInference typeInference, CallContext callContext, @Nullable TypeInferenceUtil.SurroundingInfo surroundingInfo)
typeInference
- type inference of the current callcallContext
- call context of the current callsurroundingInfo
- information about the outer wrapping call of a current function call for
performing input type inferenceCopyright © 2014–2020 The Apache Software Foundation. All rights reserved.