Giter Site home page Giter Site logo

esnya / udonrabbit.analyzer Goto Github PK

View Code? Open in Web Editor NEW
45.0 45.0 0.0 544 KB

DEPRECATED (U#1.0 not supported) .NET Roslyn Analyzer for VRChat Udon and UdonSharp.

License: MIT License

C# 92.57% PowerShell 6.15% TypeScript 1.29%
roslyn-analyzer udon udonsharp vrchat vrchat-udon

udonrabbit.analyzer's Introduction

Top Langs

GitHub stats

trophy

udonrabbit.analyzer's People

Contributors

dependabot[bot] avatar esnya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

udonrabbit.analyzer's Issues

False Positive for Inner Classes

Describe the bug
Inner classes such as VRCPlayerApi.TrackingData could not detected by UdonSymbols.

To Reproduce
Steps to reproduce the behavior:

  1. See TrackingDataFollower in UdonSharp Samples

Expected behavior
No marked as error

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • OS: [e.g. Windows 10]
  • Analyzer Version: [e.g. 22]
  • Unity Version: [e.g. 2018.4.20f1]
  • VRCSDK Version: [e.g. 2021.03.09.13.57]
  • UdonSharp Version: [e.g. v0.19.6]
  • Editor Version: [e.g. Rider 2020.3]

Additional context
Add any other context about the problem here.

Not Working Correctly on `Assembly-CSharp`

Describe the bug
When I first open an assembly that does not directly reference some Udon, it fails to get the Udon function list and does not work properly.

To Reproduce
Steps to reproduce the behavior:

  1. open project in some editor
  2. first, open a file in Assembly-CSharp

Expected behavior
The Udon assembly is loaded correctly and the function list is created.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • OS: [e.g. Windows 10]
  • Analyzer Version: [e.g. 22]
  • Unity Version: [e.g. 2018.4.20f1]
  • VRCSDK Version: [e.g. 2021.03.09.13.57]
  • UdonSharp Version: [e.g. v0.19.6]
  • Editor Version: [e.g. Rider 2020.3]

Additional context
Add any other context about the problem here.

Report malicious reports to int.TryParse(str, out int)

Describe the bug
Report malicious reports to int.TryParse(str, out int)

To Reproduce
Steps to reproduce the behavior:
Type int.TryParse.

Expected behavior
This function is exposed to Udon. No diagnostic report.

Screenshots
キャプチャ

URA0001: Method `GetComponent<T>` is not exposed to Udon

Describe the bug
GetComponent<T> is already exposed to Udon

To Reproduce

class TestBehaviour : UdonSharpBehaviour
{
	[SerializeField]
	private GameObject _go;

    private void Start()
	{
		var t1 = GetComponent<Transform>();
        var t2 = _go.GetComponent<Transform>();
	}
}

Expected behavior
No mark as error

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • OS: [e.g. Windows 10]
  • Analyzer Version: [e.g. 22]
  • Unity Version: [e.g. 2018.4.20f1]
  • VRCSDK Version: [e.g. 2021.03.09.13.57]
  • UdonSharp Version: [e.g. v0.19.6]
  • Editor Version: [e.g. Rider 2020.3]

Additional context
Add any other context about the problem here.

`Vector3.one` is exposed, but reported as error

Describe the bug
Vector3.one is exposed, but reported as error

To Reproduce
Type Vector3.one

Expected behavior
No report.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • OS: [e.g. Windows 10]
  • Analyzer Version: [e.g. 22]
  • Unity Version: [e.g. 2018.4.20f1]
  • VRCSDK Version: [e.g. 2021.03.09.13.57]
  • UdonSharp Version: [e.g. v0.19.6]
  • Editor Version: [e.g. Rider 2020.3]

Additional context
Add any other context about the problem here.

Analyzer is broken on latest VRCSDK3

Describe the bug
The analyzer is could not be started when the user using the latest VRCSDK3.

To Reproduce
Steps to reproduce the behavior:

  1. Import VRCSDK3-WORLD-2021.03.22.18.27 to Unity
  2. Start the Analyzer

Expected behavior
The analyzer has been started.

Screenshots
No

Environment (please complete the following information):

  • OS: Windows 10
  • Analyzer Version: v0.6.0
  • Unity Version: 2018.4.20f1
  • VRCSDK Version: 2021.03.22.18.27
  • UdonSharp Version: v0.19.8
  • Editor Version: All

Additional context
Add any other context about the problem here.

Category: `Udon` Analyzers are not working correctly in JetBrains Rider

Describe the bug
Mark methods and fields exposed to Udon as errors

To Reproduce
Steps to reproduce the behavior:

  1. Typing the methods/field that not exposed to Udon

Expected behavior
No mark as errors

Screenshots
キャプチャ

Environment (please complete the following information):

  • OS: Windows 10
  • Analyzer Version: v0.2.0
  • Unity Version: 2018.4.20f1
  • VRCSDK Version: Udon Networking Beta 4
  • UdonSharp Version: v0.19.7
  • Editor Version: Rider 2020.3.4

Additional context
Add any other context about the problem here.

URA0041: The method called by SendCustomNetworkEvent must be public

Analyzer Declaration

Key Value
Category Udon
Severity Warning

Examples

using UdonSharp;

using VRC.Udon.Common.Interfaces;

namespace UdonRabbit
{
    public class TestBehaviour : UdonSharpBehaviour
	{
		public override void Interact()
		{
			SendCustomNetworkEvent(NetworkEventTarget.All, nameof(OnInteract));
		}

        private void OnInteract() // URA0041
		{
		}
	}
}

Installation Guide for JetBrains Rider

I published the NuGet package to GitHub Package Registry.
But I don't know how to use GitHub Package Registry in JetBrains Rider.
I want Rider users to help.

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.