public class LambdaAnalysis extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
LambdaAnalysis.LambdaAsClassAnalysisConfig |
| Modifier and Type | Method and Description |
|---|---|
static LambdaAnalysis |
analyzeClassAsLambda(MetamodelUtil metamodel,
ClassLoader alternateClassLoader,
boolean isObjectEqualsSafe,
boolean isAllEqualsSafe,
boolean isCollectionContainsSafe,
LambdaAnalysis.LambdaAsClassAnalysisConfig lambdaAsClassConfig,
String className,
Map<String,ch.epfl.labos.iu.orm.queryll2.symbolic.TypedValue> indirectParamMapping,
boolean throwExceptionOnFailure)
Used to analyze a lambda when we only have the name of the class used as the lambda
and not an actual reference to the lambda.
|
protected static LambdaAnalysis |
analyzeInvokeVirtual(org.jinq.rebased.org.objectweb.asm.Handle lambdaHandle,
List<ch.epfl.labos.iu.orm.queryll2.symbolic.TypedValue> indirectCapturedArgs,
MetamodelUtil metamodel,
ClassLoader alternateClassLoader,
boolean isObjectEqualsSafe,
boolean isCollectionContainsSafe,
boolean throwExceptionOnFailure) |
protected static LambdaAnalysis |
analyzeInvokeVirtual(LambdaInfo lambdaInfo,
MetamodelUtil metamodel,
ClassLoader alternateClassLoader,
boolean isObjectEqualsSafe,
boolean isCollectionContainsSafe,
boolean throwExceptionOnFailure) |
protected static ch.epfl.labos.iu.orm.queryll2.path.MethodAnalysisResults |
analyzeInvokeVirtual(String methodClass,
String methodName,
String methodSignature,
MetamodelUtil metamodel,
ClassLoader alternateClassLoader,
boolean isObjectEqualsSafe,
boolean isCollectionContainsSafe,
boolean throwExceptionOnFailure)
Oracle's JDK8 encodes method references directly as an "invoke virtual" lambda.
|
static LambdaAnalysis |
analyzeMethod(MetamodelUtil metamodel,
ClassLoader alternateClassLoader,
boolean isObjectEqualsSafe,
boolean isAllEqualsSafe,
boolean isCollectionContainsSafe,
org.jinq.rebased.org.objectweb.asm.Handle lambdaHandle,
List<ch.epfl.labos.iu.orm.queryll2.symbolic.TypedValue> indirectCapturedArgs,
boolean throwExceptionOnFailure)
Used to analyze a lambda when we only have the name of the method used in the lambda
and not an actual reference to the lambda.
|
static LambdaAnalysis |
fullyAnalyzeClassAsLambda(LambdaInfo lambdaInfo,
LambdaAnalysis.LambdaAsClassAnalysisConfig lambdaAsClassConfig,
int numLambdaArgs,
MetamodelUtil metamodel,
ClassLoader alternateClassLoader,
boolean isObjectEqualsSafe,
boolean isAllEqualsSafe,
boolean isCollectionContainsSafe,
boolean throwExceptionOnFailure) |
static LambdaAnalysis |
fullyAnalyzeLambda(LambdaInfo lambdaInfo,
MetamodelUtil metamodel,
ClassLoader alternateClassLoader,
boolean isObjectEqualsSafe,
boolean isAllEqualsSafe,
boolean isCollectionContainsSafe,
boolean throwExceptionOnFailure) |
ch.epfl.labos.iu.orm.queryll2.symbolic.TypedValue |
getIndirectCapturedArg(int argIndex) |
ch.epfl.labos.iu.orm.queryll2.symbolic.TypedValue |
getIndirectFieldValue(String name) |
int |
getLambdaIndex() |
int |
getNumCapturedArgs() |
int |
getNumLambdaArgs() |
boolean |
usesIndirectArgs() |
boolean |
usesIndirectFields() |
boolean |
usesParametersAsFields() |
public static LambdaAnalysis fullyAnalyzeClassAsLambda(LambdaInfo lambdaInfo, LambdaAnalysis.LambdaAsClassAnalysisConfig lambdaAsClassConfig, int numLambdaArgs, MetamodelUtil metamodel, ClassLoader alternateClassLoader, boolean isObjectEqualsSafe, boolean isAllEqualsSafe, boolean isCollectionContainsSafe, boolean throwExceptionOnFailure)
public static LambdaAnalysis analyzeClassAsLambda(MetamodelUtil metamodel, ClassLoader alternateClassLoader, boolean isObjectEqualsSafe, boolean isAllEqualsSafe, boolean isCollectionContainsSafe, LambdaAnalysis.LambdaAsClassAnalysisConfig lambdaAsClassConfig, String className, Map<String,ch.epfl.labos.iu.orm.queryll2.symbolic.TypedValue> indirectParamMapping, boolean throwExceptionOnFailure)
public static LambdaAnalysis fullyAnalyzeLambda(LambdaInfo lambdaInfo, MetamodelUtil metamodel, ClassLoader alternateClassLoader, boolean isObjectEqualsSafe, boolean isAllEqualsSafe, boolean isCollectionContainsSafe, boolean throwExceptionOnFailure)
protected static ch.epfl.labos.iu.orm.queryll2.path.MethodAnalysisResults analyzeInvokeVirtual(String methodClass, String methodName, String methodSignature, MetamodelUtil metamodel, ClassLoader alternateClassLoader, boolean isObjectEqualsSafe, boolean isCollectionContainsSafe, boolean throwExceptionOnFailure)
protected static LambdaAnalysis analyzeInvokeVirtual(LambdaInfo lambdaInfo, MetamodelUtil metamodel, ClassLoader alternateClassLoader, boolean isObjectEqualsSafe, boolean isCollectionContainsSafe, boolean throwExceptionOnFailure)
protected static LambdaAnalysis analyzeInvokeVirtual(org.jinq.rebased.org.objectweb.asm.Handle lambdaHandle, List<ch.epfl.labos.iu.orm.queryll2.symbolic.TypedValue> indirectCapturedArgs, MetamodelUtil metamodel, ClassLoader alternateClassLoader, boolean isObjectEqualsSafe, boolean isCollectionContainsSafe, boolean throwExceptionOnFailure)
public static LambdaAnalysis analyzeMethod(MetamodelUtil metamodel, ClassLoader alternateClassLoader, boolean isObjectEqualsSafe, boolean isAllEqualsSafe, boolean isCollectionContainsSafe, org.jinq.rebased.org.objectweb.asm.Handle lambdaHandle, List<ch.epfl.labos.iu.orm.queryll2.symbolic.TypedValue> indirectCapturedArgs, boolean throwExceptionOnFailure)
public boolean usesIndirectArgs()
public int getNumCapturedArgs()
public int getNumLambdaArgs()
public ch.epfl.labos.iu.orm.queryll2.symbolic.TypedValue getIndirectCapturedArg(int argIndex)
public int getLambdaIndex()
public ch.epfl.labos.iu.orm.queryll2.symbolic.TypedValue getIndirectFieldValue(String name)
public boolean usesIndirectFields()
public boolean usesParametersAsFields()
Copyright © 2016. All rights reserved.