java.lang.Object
de.grogra.xl.compiler.InvalidQueryModel
- All Implemented Interfaces:
CompiletimeModel
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionType<?>
Specifies the type of standard edges.Type<?>
getEdgeTypeFor
(Type<?> type) Specifies the compile-time type of edges for a given type.Type<?>
Specifies the base type of nodes of this model.Returns the type of producers for right-hand sides of rules for this model.Type<? extends QueryState>
Returns the type of query states to be used for queries for this model.Defines the name of the correspondingRuntimeModel
.getStandardEdgeFor
(int edge) Returns a constant value representing a standard edge.Type<?>
getWrapperTypeFor
(Type<?> type) Return the type of wrappers for values of the given type.getWrapProperty
(Type<?> wrapperType) Returns the unwrapping property of a wrapper type.boolean
needsWrapperFor
(Type<?> type) Determines whether a value of the given type has to be wrapped before it is added as a node to aGraph
.
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
InvalidQueryModel
public InvalidQueryModel()
-
-
Method Details
-
getEdgeType
Description copied from interface:CompiletimeModel
Specifies the type of standard edges. This method returns the type which is used for the representation of standard edges in this model. This has to be the type of the (possibly unwrapped) values returned byCompiletimeModel.getStandardEdgeFor(int)
.- Specified by:
getEdgeType
in interfaceCompiletimeModel
- Returns:
- the type of standard edges
-
getEdgeTypeFor
Description copied from interface:CompiletimeModel
Specifies the compile-time type of edges for a given type. This method returns the type to which an expression of compile-time typetype
should be cast before it is interpreted as an edge expression.- Specified by:
getEdgeTypeFor
in interfaceCompiletimeModel
- Parameters:
type
- the type of the expression- Returns:
- the type of the resulting edge expression
-
getNodeType
Description copied from interface:CompiletimeModel
Specifies the base type of nodes of this model. This type is used where no specific type is available, e.g., for the node predicate "." and for the ends of standard edges.- Specified by:
getNodeType
in interfaceCompiletimeModel
- Returns:
- base type of nodes
-
getProducerType
Description copied from interface:CompiletimeModel
Returns the type of producers for right-hand sides of rules for this model.- Specified by:
getProducerType
in interfaceCompiletimeModel
- Returns:
- type of producers
-
getQueryStateType
Description copied from interface:CompiletimeModel
Returns the type of query states to be used for queries for this model.- Specified by:
getQueryStateType
in interfaceCompiletimeModel
- Returns:
- type of producers
-
getRuntimeName
Description copied from interface:CompiletimeModel
Defines the name of the correspondingRuntimeModel
. This name is used during run-time in invocations ofRuntimeModelFactory.modelForName(java.lang.String, java.lang.ClassLoader)
in order to obtain theRuntimeModel
suitable for the code that is compiled within this compile-time model.- Specified by:
getRuntimeName
in interfaceCompiletimeModel
- Returns:
- the name of the corresponding run-time model
-
getStandardEdgeFor
Description copied from interface:CompiletimeModel
Returns a constant value representing a standard edge. The returned value represents the given standardedge
(EdgePattern.ANY_EDGE
,EdgePattern.BRANCH_EDGE
,EdgePattern.SUCCESSOR_EDGE
orEdgePattern.REFINEMENT_EDGE
) for this model. It is used as argument to constructor invocations ofEdgePattern
. Primitive values have to be wrapped as usual.- Specified by:
getStandardEdgeFor
in interfaceCompiletimeModel
- Parameters:
edge
-int
-value encoding a standard edge- Returns:
- corresponding representation for this model
-
getWrapProperty
Description copied from interface:CompiletimeModel
Returns the unwrapping property of a wrapper type.wrapperType
is the type of a wrapper. If there is a property declared in this type which can be used to obtain the wrapped argument, this property is returned, otherwisenull
.- Specified by:
getWrapProperty
in interfaceCompiletimeModel
- Parameters:
wrapperType
- the type of a wrapper- Returns:
- the unwrapping property for this type
-
getWrapperTypeFor
Description copied from interface:CompiletimeModel
Return the type of wrappers for values of the given type. This method is only invoked whenCompiletimeModel.needsWrapperFor(de.grogra.reflect.Type<?>)
returnstrue
.- Specified by:
getWrapperTypeFor
in interfaceCompiletimeModel
- Parameters:
type
- a value type- Returns:
- the corresponding wrapper type
-
needsWrapperFor
Description copied from interface:CompiletimeModel
Determines whether a value of the given type has to be wrapped before it is added as a node to aGraph
.- Specified by:
needsWrapperFor
in interfaceCompiletimeModel
- Parameters:
type
- a value type- Returns:
true
iff a wrapper is needed fortype
-