resolveTypeAnnotationDynamic static method
Implementation
static RuntimeType resolveTypeAnnotationDynamic(
SAstNode typeNode, Environment env) {
if (typeNode is SNamedType) {
final typeName = typeNode.name?.name ?? '';
Logger.debug(
"[InterpretedClass._resolveTypeAnnotationDynamic] Resolving SNamedType: $typeName");
final resolved = env.get(typeName);
if (resolved is RuntimeType) {
Logger.debug(
"[InterpretedClass._resolveTypeAnnotationDynamic] Resolved from environment to RuntimeType: ${resolved.name}");
return resolved;
} else {
throw RuntimeD4rtException(
"Symbol '$typeName' resolved to non-type value: $resolved");
}
} else {
throw RuntimeD4rtException(
"Unsupported type annotation for constraint: ${typeNode.runtimeType}");
}
}