types improved

pull/7/head
aniket-engg 5 years ago committed by Aniket
parent 38786a6323
commit 8dd06a64dc
  1. 204
      remix-analyzer/src/types.ts

@ -50,7 +50,7 @@ export interface SourceUnitAstNode {
nodeType: 'SourceUnit' nodeType: 'SourceUnit'
src: string src: string
absolutePath: string absolutePath: string
exportedSymbols: Object exportedSymbols: object
nodes: Array<AstNode> nodes: Array<AstNode>
} }
@ -77,13 +77,13 @@ export interface ContractDefinitionAstNode {
nodeType: 'ContractDefinition' nodeType: 'ContractDefinition'
src: string src: string
name: string name: string
documentation: Object documentation: object | null
contractKind: 'interface' | 'contract' | 'library' contractKind: 'interface' | 'contract' | 'library'
abstract: string abstract: string
fullyImplemented: Object fullyImplemented: object
linearizedBaseContracts: Object linearizedBaseContracts: object
baseContracts: Object baseContracts: object
contractDependencies: Object contractDependencies: object
nodes: Array<AstNode> nodes: Array<AstNode>
scope: number scope: number
} }
@ -93,15 +93,15 @@ export interface InheritanceSpecifierAstNode {
nodeType: 'InheritanceSpecifier' nodeType: 'InheritanceSpecifier'
src: string src: string
baseName: string baseName: string
arguments: Object arguments: object | null
} }
export interface UsingForDirectiveAstNode { export interface UsingForDirectiveAstNode {
id: number id: number
nodeType: 'UsingForDirective' nodeType: 'UsingForDirective'
src: string src: string
libraryName: Object libraryName: object
typeName: Object typeName: object | null
} }
export interface StructDefinitionAstNode { export interface StructDefinitionAstNode {
@ -111,7 +111,7 @@ export interface StructDefinitionAstNode {
name: string name: string
visibility: string visibility: string
canonicalName: string canonicalName: string
members: Object members: object
scope: number scope: number
} }
@ -121,7 +121,7 @@ export interface EnumDefinitionAstNode {
src: string src: string
name: string name: string
canonicalName: string canonicalName: string
members: Object members: object
} }
export interface EnumValueAstNode { export interface EnumValueAstNode {
@ -135,14 +135,14 @@ export interface ParameterListAstNode {
id: number id: number
nodeType: 'ParameterList' nodeType: 'ParameterList'
src: string src: string
parameters: Object parameters: object
} }
export interface OverrideSpecifierAstNode { export interface OverrideSpecifierAstNode {
id: number id: number
nodeType: 'OverrideSpecifier' nodeType: 'OverrideSpecifier'
src: string src: string
overrides: Object overrides: object
} }
export interface FunctionDefinitionAstNode { export interface FunctionDefinitionAstNode {
@ -150,20 +150,20 @@ export interface FunctionDefinitionAstNode {
nodeType: 'FunctionDefinition' nodeType: 'FunctionDefinition'
src: string src: string
name: string name: string
documentation: Object documentation: object | null
kind: string kind: string
stateMutability: string stateMutability: string
visibility: string visibility: string
virtual: boolean virtual: boolean
overrides: Object overrides: object | null
parameters: Object parameters: object
returnParameters: Object returnParameters: object
modifiers: Object modifiers: object
body: Object body: object | null
implemented: boolean implemented: boolean
scope: number scope: number
functionSelector?: string functionSelector?: string
baseFunctions?: Object baseFunctions?: object
} }
export interface VariableDeclarationAstNode { export interface VariableDeclarationAstNode {
@ -171,18 +171,18 @@ export interface VariableDeclarationAstNode {
nodeType: 'VariableDeclaration' nodeType: 'VariableDeclaration'
src: string src: string
name: string name: string
typeName: Object typeName: object
constant: boolean constant: boolean
stateVariable: boolean stateVariable: boolean
storageLocation: 'storage' | 'memory' | 'calldata' | 'default' storageLocation: 'storage' | 'memory' | 'calldata' | 'default'
overrides: Object overrides: object | null
visibility: string visibility: string
value: Object value: object | null
scope: number scope: number
typeDescriptions: Object typeDescriptions: object
functionSelector?: string functionSelector?: string
indexed?: boolean indexed?: boolean
baseFunctions?: Object baseFunctions?: object
} }
export interface ModifierDefinitionAstNode { export interface ModifierDefinitionAstNode {
@ -190,21 +190,21 @@ export interface ModifierDefinitionAstNode {
nodeType: 'ModifierDefinition' nodeType: 'ModifierDefinition'
src: string src: string
name: string name: string
documentation: Object documentation: object | null
visibility: string visibility: string
parameters: Object parameters: object
virtual: boolean virtual: boolean
overrides: Object overrides: object | null
body: Object body: object
baseModifiers?: Object baseModifiers?: object
} }
export interface ModifierInvocationAstNode { export interface ModifierInvocationAstNode {
id: number id: number
nodeType: 'ModifierInvocation' nodeType: 'ModifierInvocation'
src: string src: string
modifierName: Object modifierName: object
arguments: Object arguments: object | null
} }
export interface EventDefinitionAstNode { export interface EventDefinitionAstNode {
@ -212,8 +212,8 @@ export interface EventDefinitionAstNode {
nodeType: 'EventDefinition' nodeType: 'EventDefinition'
src: string src: string
name: string name: string
documentation: Object documentation: object | null
parameters: Object parameters: object
anonymous: boolean anonymous: boolean
} }
@ -222,7 +222,7 @@ export interface ElementaryTypeNameAstNode {
nodeType: 'ElementaryTypeName' nodeType: 'ElementaryTypeName'
src: string src: string
name: string name: string
typeDescriptions: Object typeDescriptions: object
stateMutability?: string stateMutability?: string
} }
@ -233,7 +233,7 @@ export interface UserDefinedTypeNameAstNode {
name: string name: string
referencedDeclaration: number referencedDeclaration: number
contractScope: number contractScope: number
typeDescriptions: Object typeDescriptions: object
} }
export interface FunctionTypeNameAstNode { export interface FunctionTypeNameAstNode {
@ -243,35 +243,35 @@ export interface FunctionTypeNameAstNode {
name: string name: string
visibility: string visibility: string
stateMutability: string stateMutability: string
parameterTypes: Object parameterTypes: object
returnParameterTypes: Object returnParameterTypes: object
typeDescriptions: Object typeDescriptions: object
} }
export interface MappingAstNode { export interface MappingAstNode {
id: number id: number
nodeType: 'Mapping' nodeType: 'Mapping'
src: string src: string
keyType: Object keyType: object
valueType: Object valueType: object
typeDescriptions: Object typeDescriptions: object
} }
export interface ArrayTypeNameAstNode { export interface ArrayTypeNameAstNode {
id: number id: number
nodeType: 'ArrayTypeName' nodeType: 'ArrayTypeName'
src: string src: string
baseType: Object baseType: object
length: Object length: object
typeDescriptions: Object typeDescriptions: object
} }
export interface InlineAssemblyAstNode { export interface InlineAssemblyAstNode {
id: number id: number
nodeType: 'InlineAssembly' nodeType: 'InlineAssembly'
src: string src: string
AST: Object AST: object
externalReferences: Object externalReferences: object
evmVersion: string evmVersion: string
} }
@ -279,7 +279,7 @@ export interface BlockAstNode {
id: number id: number
nodeType: 'Block' nodeType: 'Block'
src: string src: string
statements: Object statements: object
} }
export interface PlaceholderStatementAstNode { export interface PlaceholderStatementAstNode {
@ -292,9 +292,9 @@ export interface IfStatementAstNode {
id: number id: number
nodeType: 'IfStatement' nodeType: 'IfStatement'
src: string src: string
condition: Object condition: object
trueBody: Object trueBody: object
falseBody: Object falseBody: object
} }
export interface TryCatchClauseAstNode { export interface TryCatchClauseAstNode {
@ -302,34 +302,34 @@ export interface TryCatchClauseAstNode {
nodeType: 'TryCatchClause' nodeType: 'TryCatchClause'
src: string src: string
errorName: string errorName: string
parameters: Object parameters: object
block: Object block: object
} }
export interface TryStatementAstNode { export interface TryStatementAstNode {
id: number id: number
nodeType: 'TryStatement' nodeType: 'TryStatement'
src: string src: string
externalCall: Object externalCall: object
clauses: Object clauses: object
} }
export interface WhileStatementAstNode { export interface WhileStatementAstNode {
id: number id: number
nodeType: 'WhileStatement' | 'DoWhileStatement' nodeType: 'WhileStatement' | 'DoWhileStatement'
src: string src: string
condition: Object condition: object
body: Object body: object
} }
export interface ForStatementAstNode { export interface ForStatementAstNode {
id: number id: number
nodeType: 'ForStatement' nodeType: 'ForStatement'
src: string src: string
initializationExpression: Object initializationExpression: object
condition: Object condition: object
loopExpression: Object loopExpression: object
body: Object body: object
} }
export interface ContinueAstNode { export interface ContinueAstNode {
@ -348,8 +348,8 @@ export interface ReturnAstNode {
id: number id: number
nodeType: 'Return' nodeType: 'Return'
src: string src: string
expression: Object expression: object
functionReturnParameters: Object functionReturnParameters: object
} }
export interface ThrowAstNode { export interface ThrowAstNode {
@ -362,41 +362,41 @@ export interface EmitStatementAstNode {
id: number id: number
nodeType: 'EmitStatement' nodeType: 'EmitStatement'
src: string src: string
eventCall: Object eventCall: object
} }
export interface VariableDeclarationStatementAstNode { export interface VariableDeclarationStatementAstNode {
id: number id: number
nodeType: 'VariableDeclarationStatement' nodeType: 'VariableDeclarationStatement'
src: string src: string
assignments: Object assignments: object
declarations: Object declarations: object
initialValue: Object initialValue: object
} }
export interface ExpressionStatementAstNode { export interface ExpressionStatementAstNode {
id: number id: number
nodeType: 'ExpressionStatement' nodeType: 'ExpressionStatement'
src: string src: string
expression: Object expression: object
} }
interface ExpressionAttributes { interface ExpressionAttributes {
typeDescriptions: Object typeDescriptions: object
isConstant: boolean isConstant: boolean
isPure: boolean isPure: boolean
isLValue: boolean isLValue: boolean
lValueRequested: boolean lValueRequested: boolean
argumentTypes: Object argumentTypes: object
} }
export interface ConditionalAstNode extends ExpressionAttributes { export interface ConditionalAstNode extends ExpressionAttributes {
id: number id: number
nodeType: 'Conditional' nodeType: 'Conditional'
src: string src: string
condition: Object condition: object
trueExpression: Object trueExpression: object
falseExpression: Object falseExpression: object
} }
export interface AssignmentAstNode extends ExpressionAttributes { export interface AssignmentAstNode extends ExpressionAttributes {
@ -404,8 +404,8 @@ export interface AssignmentAstNode extends ExpressionAttributes {
nodeType: 'Assignment' nodeType: 'Assignment'
src: string src: string
operator: string operator: string
leftHandSide: Object leftHandSide: object
rightHandSide: Object rightHandSide: object
} }
export interface TupleExpressionAstNode extends ExpressionAttributes { export interface TupleExpressionAstNode extends ExpressionAttributes {
@ -413,7 +413,7 @@ export interface TupleExpressionAstNode extends ExpressionAttributes {
nodeType: 'TupleExpression' nodeType: 'TupleExpression'
src: string src: string
isInlineArray: boolean isInlineArray: boolean
components: Object components: object
} }
export interface UnaryOperationAstNode extends ExpressionAttributes { export interface UnaryOperationAstNode extends ExpressionAttributes {
@ -422,7 +422,7 @@ export interface UnaryOperationAstNode extends ExpressionAttributes {
src: string src: string
prefix: boolean prefix: boolean
operator: string operator: string
subExpression: Object subExpression: object
} }
export interface BinaryOperationAstNode extends ExpressionAttributes { export interface BinaryOperationAstNode extends ExpressionAttributes {
@ -430,18 +430,18 @@ export interface BinaryOperationAstNode extends ExpressionAttributes {
nodeType: 'BinaryOperation' nodeType: 'BinaryOperation'
src: string src: string
operator: string operator: string
leftExpression: Object leftExpression: object
rightExpression: Object rightExpression: object
commonType: Object commonType: object
} }
export interface FunctionCallAstNode extends ExpressionAttributes { export interface FunctionCallAstNode extends ExpressionAttributes {
id: number id: number
nodeType: 'FunctionCall' nodeType: 'FunctionCall'
src: string src: string
expression: Object expression: object
names: Object names: object
arguments: Object arguments: object
tryCall: boolean tryCall: boolean
kind: 'functionCall' | 'typeConversion' | 'structConstructorCall' kind: 'functionCall' | 'typeConversion' | 'structConstructorCall'
} }
@ -450,16 +450,16 @@ export interface FunctionCallOptionsAstNode extends ExpressionAttributes {
id: number id: number
nodeType: 'FunctionCallOptions' nodeType: 'FunctionCallOptions'
src: string src: string
expression: Object expression: object
names: Object names: object
options: Object options: object
} }
export interface NewExpressionAstNode extends ExpressionAttributes { export interface NewExpressionAstNode extends ExpressionAttributes {
id: number id: number
nodeType: 'NewExpression' nodeType: 'NewExpression'
src: string src: string
typeName: Object typeName: object
} }
export interface MemberAccessAstNode extends ExpressionAttributes { export interface MemberAccessAstNode extends ExpressionAttributes {
@ -467,32 +467,32 @@ export interface MemberAccessAstNode extends ExpressionAttributes {
nodeType: 'MemberAccess' nodeType: 'MemberAccess'
src: string src: string
memberName: string memberName: string
expression: Object expression: object
referencedDeclaration: Object referencedDeclaration: object
} }
export interface IndexAccessAstNode extends ExpressionAttributes { export interface IndexAccessAstNode extends ExpressionAttributes {
id: number id: number
nodeType: 'IndexAccess' nodeType: 'IndexAccess'
src: string src: string
baseExpression: Object baseExpression: object
indexExpression: Object indexExpression: object
} }
export interface IndexRangeAccessAstNode extends ExpressionAttributes { export interface IndexRangeAccessAstNode extends ExpressionAttributes {
id: number id: number
nodeType: 'IndexRangeAccess' nodeType: 'IndexRangeAccess'
src: string src: string
baseExpression: Object baseExpression: object
startExpression: Object startExpression: object
endExpression: Object endExpression: object
} }
export interface ElementaryTypeNameExpressionAstNode extends ExpressionAttributes { export interface ElementaryTypeNameExpressionAstNode extends ExpressionAttributes {
id: number id: number
nodeType: 'ElementaryTypeNameExpression' nodeType: 'ElementaryTypeNameExpression'
src: string src: string
typeName: Object typeName: object
} }
export interface LiteralAstNode extends ExpressionAttributes { export interface LiteralAstNode extends ExpressionAttributes {
@ -502,7 +502,7 @@ export interface LiteralAstNode extends ExpressionAttributes {
kind: 'number' | 'string' | 'bool' kind: 'number' | 'string' | 'bool'
value: string value: string
hexValue: string hexValue: string
subdenomination: Object subdenomination: object | null
} }
export interface IdentifierAstNode { export interface IdentifierAstNode {
@ -510,10 +510,10 @@ export interface IdentifierAstNode {
nodeType: 'Identifier' nodeType: 'Identifier'
src: string src: string
name: string name: string
referencedDeclaration: Object referencedDeclaration: object
overloadedDeclarations: Object overloadedDeclarations: object
typeDescriptions: Object typeDescriptions: object
argumentTypes: Object argumentTypes: object
} }
export interface StructuredDocumentationAstNode { export interface StructuredDocumentationAstNode {
@ -578,7 +578,7 @@ export interface StructuredDocumentationAstNode {
///////// /////////
export interface AstNode { export interface AstNode {
absolutePath?: string absolutePath?: string
exportedSymbols?: Object exportedSymbols?: object
id: number id: number
nodeType: string nodeType: string
nodes?: Array<AstNode> nodes?: Array<AstNode>
@ -607,7 +607,7 @@ export interface StructuredDocumentationAstNode {
constant?: boolean constant?: boolean
name?: string name?: string
public?: boolean public?: boolean
exportedSymbols?: Object exportedSymbols?: object
argumentTypes?: null argumentTypes?: null
absolutePath?: string absolutePath?: string
[x: string]: any [x: string]: any

Loading…
Cancel
Save