Contents
- Description
- Nested Class Summary
- Method Summary
- Method Details
- getStringSupplier(String)
- getNumberSupplier(String)
- getBooleanSupplier(String)
- getStringArraySupplier(String)
- getNumberArraySupplier(String)
- getBooleanArraySupplier(String)
- getFunction(String)
- getString(String)
- getNumber(String)
- getBoolean(String)
- getStringArray(String)
- getNumberArray(String)
- getBooleanArray(String)
- isConstant(String)
- getType(String)
- encodeFunctionName(String, ValueType[])
- encodeType(ValueType)
Interface Scope
public interface Scope
Scope representing a table of functions and variables to be used with expressions.
Symbols are typed and resolved to Suppliers to be able to skip name lookup after compilation. Also symbols can be constants to support constant folding while compiling.
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic StringencodeFunctionName(String name, ValueType[] values) static charencodeType(ValueType type) default booleangetBoolean(String name) default boolean[]getBooleanArray(String name) Supplier<boolean[]> getBooleanSupplier(String name) getFunction(String name) default doubledefault double[]getNumberArray(String name) Supplier<double[]> getNumberArraySupplier(String name) getNumberSupplier(String name) default Stringdefault String[]getStringArray(String name) getStringArraySupplier(String name) getStringSupplier(String name) booleanisConstant(String name) Check if a variable is a constant or a function always returns the same result for the same set of arguments.
-
Method Details
-
getStringSupplier
-
getNumberSupplier
-
getBooleanSupplier
-
getStringArraySupplier
-
getNumberArraySupplier
-
getBooleanArraySupplier
-
getFunction
-
getString
-
getNumber
-
getBoolean
-
getStringArray
-
getNumberArray
-
getBooleanArray
-
isConstant
Check if a variable is a constant or a function always returns the same result for the same set of arguments.- Parameters:
name- Name of function/variable.- Returns:
- true if variable is constant or function is invariant
-
getType
-
encodeFunctionName
-
encodeType
-