Giter Site home page Giter Site logo

Comments (10)

dbolin avatar dbolin commented on August 17, 2024

Not opposed to this (I'd probably make it a separate package unless you have reasons why it would be better not to). I'd have to think about what should be exposed there and what's really internal.

What methods would you use right now? E.g. would you use anything other than IsImmutableType()?

from apex.analyzers.

mwelsh1118 avatar mwelsh1118 commented on August 17, 2024

I think exposing IsImmutableType() would be sufficient for our purposes. Also agree that a separate package is cleaner.

from apex.analyzers.

mwelsh1118 avatar mwelsh1118 commented on August 17, 2024

@dbolin, Let me know if you'd like me to break out a separate project (Apex.Analyzers.Helpers?). Happy to send you a PR if you haven't started on this already.

from apex.analyzers.

dbolin avatar dbolin commented on August 17, 2024

Yeah, not sure what I would like the name to be, since Helpers is just kind of vague. The namespace prefix should be Apex.Analyzers.Immutable... since this is for the immutability rules (I don't have any other analyzers yet, but if I do they would be in separate packages).

from apex.analyzers.

mwelsh1118 avatar mwelsh1118 commented on August 17, 2024

Apex.Analyzers.Immutable.Primitives?
Apex.Analyzers.Immutable.TypeInfo?
Apex.Analyzers.Immutable.Metadata?

from apex.analyzers.

dbolin avatar dbolin commented on August 17, 2024

I'll go with Apex.Analyzers.Immutable.Semantics - still not quite accurate, but closer than anything else I can think of now.

from apex.analyzers.

dbolin avatar dbolin commented on August 17, 2024

DotNetAnalyzers/StyleCopAnalyzers#1624 (comment)

Somehow when you install the analyzer, the consuming project needs to reference the analyzer's dependencies also as an analyzer, or it can't load them. I haven't figured out a way to make this happen automatically. I might just reference the same cs files from both projects if there isn't another way to do this.

from apex.analyzers.

dbolin avatar dbolin commented on August 17, 2024

This also affects analyzers that consume the Semantics package, so this needs a good solution if this is to work at all.

from apex.analyzers.

dbolin avatar dbolin commented on August 17, 2024

Ended up including it in the package e.g. <None Include="$(OutputPath)\Apex.Analyzers.Immutable.Semantics.dll" Pack="true" PackagePath="analyzers/dotnet/cs" Visible="false" />

from apex.analyzers.

mwelsh1118 avatar mwelsh1118 commented on August 17, 2024

That is working great! Thanks for the help!

from apex.analyzers.

Related Issues (8)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.