code: def get_default_properties(self, comp_type):
          
          # Flatten out all the default assignments that apply to the current scope
          # This does not include any default assignments made within the current
          # scope, so exclude those.
          props = {}
          for scope in self.default_property_ns_stack[:-1]:
              props.update(scope)
  
          # filter out properties that are not relevant
          prop_names = list(props.keys())
          for prop_name in prop_names:
              rule = self.env.property_rules.lookup_property(prop_name)
              if rule is None:
                  self.msg.fatal(
                      "Unrecognized property '%s'" % prop_name,
                      props[prop_name][0]
                  )
              if comp_type not in rule.bindable_to:
                  del props[prop_name]
  
          return props
docs: Returns a flattened dictionary of all default property assignments
          visible in the current scope that apply to the current component type.