forked from jasder/antlr
pull in pr1229 into branch: dotnetcore
This commit is contained in:
commit
7fcf8ab074
|
@ -31,6 +31,9 @@ __pycache__/
|
|||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
*.user
|
||||
.vs/
|
||||
project.lock.json
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Antlr4.Runtime.DotNetCore", "Antlr4.Runtime.DotNetCore.xproj", "{12962409-846E-4B80-933A-BC484D264132}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{12962409-846E-4B80-933A-BC484D264132}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{12962409-846E-4B80-933A-BC484D264132}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{12962409-846E-4B80-933A-BC484D264132}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{12962409-846E-4B80-933A-BC484D264132}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>12962409-846e-4b80-933a-bc484d264132</ProjectGuid>
|
||||
<RootNamespace>Antlr4.Runtime.DotNetCore</RootNamespace>
|
||||
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
|
||||
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
</Project>
|
|
@ -646,7 +646,11 @@ namespace Antlr4.Runtime.Misc
|
|||
StringBuilder errors = new StringBuilder();
|
||||
foreach (Tuple<RuleDependencyAttribute, ICustomAttributeProvider> dependency in dependencies)
|
||||
{
|
||||
if (!dependency.Item1.Recognizer.IsAssignableFrom(recognizerType))
|
||||
#if DOTNETCORE
|
||||
if (!dependency.Item1.Recognizer.GetTypeInfo().IsAssignableFrom(recognizerType))
|
||||
#else
|
||||
if (!dependency.Item1.Recognizer.IsAssignableFrom(recognizerType))
|
||||
#endif
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
@ -773,7 +777,11 @@ namespace Antlr4.Runtime.Misc
|
|||
private static int[] GetRuleVersions(Type recognizerClass, string[] ruleNames)
|
||||
{
|
||||
int[] versions = new int[ruleNames.Length];
|
||||
#if DOTNETCORE
|
||||
FieldInfo[] fields = recognizerClass.GetTypeInfo().GetFields();
|
||||
#else
|
||||
FieldInfo[] fields = recognizerClass.GetFields();
|
||||
#endif
|
||||
foreach (FieldInfo field in fields)
|
||||
{
|
||||
bool isStatic = field.IsStatic;
|
||||
|
@ -805,7 +813,11 @@ namespace Antlr4.Runtime.Misc
|
|||
#endif
|
||||
continue;
|
||||
}
|
||||
#if DOTNETCORE
|
||||
RuleVersionAttribute ruleVersion = ruleMethod.GetCustomAttribute<RuleVersionAttribute>();
|
||||
#else
|
||||
RuleVersionAttribute ruleVersion = (RuleVersionAttribute)Attribute.GetCustomAttribute(ruleMethod, typeof(RuleVersionAttribute));
|
||||
#endif
|
||||
int version = ruleVersion != null ? ruleVersion.Version : 0;
|
||||
versions[index] = version;
|
||||
}
|
||||
|
@ -832,10 +844,18 @@ namespace Antlr4.Runtime.Misc
|
|||
|
||||
private static MethodInfo GetRuleMethod(Type recognizerClass, string name)
|
||||
{
|
||||
#if DOTNETCORE
|
||||
MethodInfo[] declaredMethods = recognizerClass.GetTypeInfo().GetMethods();
|
||||
#else
|
||||
MethodInfo[] declaredMethods = recognizerClass.GetMethods();
|
||||
#endif
|
||||
foreach (MethodInfo method in declaredMethods)
|
||||
{
|
||||
if (method.Name.Equals(name) && Attribute.IsDefined(method, typeof(RuleVersionAttribute)))
|
||||
#if DOTNETCORE
|
||||
if (method.Name.Equals(name) && method.IsDefined(typeof(RuleVersionAttribute)))
|
||||
#else
|
||||
if (method.Name.Equals(name) && Attribute.IsDefined(method, typeof(RuleVersionAttribute)))
|
||||
#endif
|
||||
{
|
||||
return method;
|
||||
}
|
||||
|
@ -845,7 +865,11 @@ namespace Antlr4.Runtime.Misc
|
|||
|
||||
private static string[] GetRuleNames(Type recognizerClass)
|
||||
{
|
||||
#if DOTNETCORE
|
||||
FieldInfo ruleNames = recognizerClass.GetTypeInfo().GetField("ruleNames");
|
||||
#else
|
||||
FieldInfo ruleNames = recognizerClass.GetField("ruleNames");
|
||||
#endif
|
||||
return (string[])ruleNames.GetValue(null);
|
||||
}
|
||||
|
||||
|
@ -853,20 +877,36 @@ namespace Antlr4.Runtime.Misc
|
|||
{
|
||||
IList<Tuple<RuleDependencyAttribute, ICustomAttributeProvider>> result = new List<Tuple<RuleDependencyAttribute, ICustomAttributeProvider>>();
|
||||
|
||||
#if DOTNETCORE
|
||||
GetElementDependencies(AsCustomAttributeProvider(clazz.GetTypeInfo()), result);
|
||||
#else
|
||||
GetElementDependencies(AsCustomAttributeProvider(clazz), result);
|
||||
#endif
|
||||
#if DOTNETCORE
|
||||
foreach (ConstructorInfo ctor in clazz.GetTypeInfo().GetConstructors(AllDeclaredMembers))
|
||||
#else
|
||||
foreach (ConstructorInfo ctor in clazz.GetConstructors(AllDeclaredMembers))
|
||||
#endif
|
||||
{
|
||||
GetElementDependencies(AsCustomAttributeProvider(ctor), result);
|
||||
foreach (ParameterInfo parameter in ctor.GetParameters())
|
||||
GetElementDependencies(AsCustomAttributeProvider(parameter), result);
|
||||
}
|
||||
|
||||
#if DOTNETCORE
|
||||
foreach (FieldInfo field in clazz.GetTypeInfo().GetFields(AllDeclaredMembers))
|
||||
#else
|
||||
foreach (FieldInfo field in clazz.GetFields(AllDeclaredMembers))
|
||||
#endif
|
||||
{
|
||||
GetElementDependencies(AsCustomAttributeProvider(field), result);
|
||||
}
|
||||
|
||||
#if DOTNETCORE
|
||||
foreach (MethodInfo method in clazz.GetTypeInfo().GetMethods(AllDeclaredMembers))
|
||||
#else
|
||||
foreach (MethodInfo method in clazz.GetMethods(AllDeclaredMembers))
|
||||
#endif
|
||||
{
|
||||
GetElementDependencies(AsCustomAttributeProvider(method), result);
|
||||
#if COMPACT
|
||||
|
@ -922,12 +962,21 @@ namespace Antlr4.Runtime.Misc
|
|||
|
||||
private static string GetSerializedATN(Type recognizerClass)
|
||||
{
|
||||
#if DOTNETCORE
|
||||
FieldInfo serializedAtnField = recognizerClass.GetTypeInfo().GetField("_serializedATN", AllDeclaredStaticMembers);
|
||||
#else
|
||||
FieldInfo serializedAtnField = recognizerClass.GetField("_serializedATN", AllDeclaredStaticMembers);
|
||||
#endif
|
||||
if (serializedAtnField != null)
|
||||
return (string)serializedAtnField.GetValue(null);
|
||||
|
||||
#if DOTNETCORE
|
||||
if (recognizerClass.GetTypeInfo().BaseType != null)
|
||||
return GetSerializedATN(recognizerClass.GetTypeInfo().BaseType);
|
||||
#else
|
||||
if (recognizerClass.BaseType != null)
|
||||
return GetSerializedATN(recognizerClass.BaseType);
|
||||
#endif
|
||||
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
/* Copyright (c) 2012-2016 The ANTLR Project. All rights reserved.
|
||||
/* Copyright (c) 2012-2016 The ANTLR Project. All rights reserved.
|
||||
* Use of this file is governed by the BSD 3-clause license that
|
||||
* can be found in the LICENSE.txt file in the project root.
|
||||
*/
|
||||
|
||||
#if PORTABLE
|
||||
#if PORTABLE || DOTNETCORE
|
||||
|
||||
namespace System
|
||||
{
|
||||
|
@ -14,3 +14,4 @@ namespace System
|
|||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -28,7 +28,6 @@ using System;
|
|||
using System.Threading;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Antlr4.Runtime.Sharpen
|
||||
{
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.31101.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"buildOptions": {
|
||||
"define": [ "DEBUG", "TRACE", "DOTNETCORE", "NET40PLUS", "NET45PLUS" ],
|
||||
"keyFile": "../Antlr4.snk",
|
||||
"xmlDoc": true
|
||||
},
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.6.0"
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard1.5": {
|
||||
"imports": "dnxcore50"
|
||||
}
|
||||
},
|
||||
"version": "4.5.3-*"
|
||||
}
|
Loading…
Reference in New Issue