DetectEffectVersion detects the major version of the Effect library from the program's source files. Returns EffectMajorUnknown if no Effect dependency is found or if conflicting versions are detected. The result is cached per checker lifetime.
()
| 40 | // source files. Returns EffectMajorUnknown if no Effect dependency is found or if |
| 41 | // conflicting versions are detected. The result is cached per checker lifetime. |
| 42 | func (tp *TypeParser) DetectEffectVersion() EffectMajorVersion { |
| 43 | if tp == nil || tp.checker == nil { |
| 44 | return EffectMajorUnknown |
| 45 | } |
| 46 | if tp.links.detectEffectVersionComputed { |
| 47 | return tp.links.detectEffectVersionValue |
| 48 | } |
| 49 | result := tp.detectEffectVersionUncached() |
| 50 | tp.links.detectEffectVersionValue = result |
| 51 | tp.links.detectEffectVersionComputed = true |
| 52 | return result |
| 53 | } |
| 54 | |
| 55 | // detectEffectVersionUncached performs the actual version detection logic. |
| 56 | func (tp *TypeParser) detectEffectVersionUncached() EffectMajorVersion { |
no test coverage detected