code: func (d *evaluationStateData) StaticValidateReferences(refs []*addrs.Reference, self addrs.Referenceable) tfdiags.Diagnostics {
  	var diags tfdiags.Diagnostics
  	for _, ref := range refs {
  		moreDiags := d.staticValidateReference(ref, self)
  		diags = diags.Append(moreDiags)
  	}
  	return diags
  }
docs: // StaticValidateReferences checks the given references against schemas and
  // other statically-checkable rules, producing error diagnostics if any
  // problems are found.
  //
  // If this method returns errors for a particular reference then evaluating
  // that reference is likely to generate a very similar error, so callers should
  // not run this method and then also evaluate the source expression(s) and
  // merge the two sets of diagnostics together, since this will result in
  // confusing redundant errors.
  //
  // This method can find more errors than can be found by evaluating an
  // expression with a partially-populated scope, since it checks the referenced
  // names directly against the schema rather than relying on evaluation errors.
  //
  // The result may include warning diagnostics if, for example, deprecated
  // features are referenced.